
int bash_forward_shellword(int count,int key)

{
  byte bVar1;
  bool bVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined *puVar9;
  anon_union_4_2_91654ee9_for___value aVar10;
  int iVar11;
  byte *pbVar12;
  int iVar13;
  uint uVar14;
  int iVar15;
  int iVar16;
  byte *pbVar17;
  undefined *puVar18;
  undefined *puVar19;
  int iVar20;
  byte *pbVar21;
  undefined *puVar22;
  mbstate_t state;
  mbstate_t state_bak;
  
  puVar9 = PTR___stack_chk_guard_001464dc;
  puVar8 = PTR_rl_point_0014555c;
  puVar7 = PTR_rl_end_00145558;
  puVar6 = PTR_rl_line_buffer_00145548;
  puVar22 = PTR_sh_syntaxtab_00144988;
  state.__count = 0;
  state.__value.__wch = 0;
  iVar11 = *(int *)PTR___stack_chk_guard_001464dc;
  if (count < 0) {
    iVar20 = bash_backward_shellword(-count,key);
  }
  else {
    pbVar21 = *(byte **)PTR_rl_point_0014555c;
    pbVar12 = *(byte **)PTR_rl_end_00145558;
    if (count == 0) {
LAB_0009ff1c:
      iVar20 = 0;
      *(byte **)puVar8 = pbVar21;
    }
    else {
      if (pbVar12 != pbVar21) {
        iVar20 = count + -1;
        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;
        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;
        do {
          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);
          puVar5 = PTR_is_basic_table_00144b04;
          puVar4 = PTR_locale_mb_cur_max_00144b00;
          puVar3 = PTR_locale_utf8locale_00144afc;
          iVar16 = *(int *)puVar6;
          key = (int)(pbVar21 + iVar16);
          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {
            pbVar17 = *(byte **)puVar7;
            uVar14 = (uint)(char)*(byte *)key;
            if ((int)pbVar21 < (int)pbVar17) {
              do {
                aVar10 = state.__value;
                iVar13 = state.__count;
                puVar3 = PTR_locale_mb_cur_max_00144b00;
                if (uVar14 == 0) goto LAB_0009fb98;
                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {
                  iVar13 = *(int *)puVar6;
                  key = (int)(pbVar21 + iVar13);
                  bVar1 = *(byte *)key;
                  if (bVar1 != 0) goto LAB_0009fdd8;
                  goto LAB_0009fe78;
                }
                if (uVar14 == 0x27) {
                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)
                                              (iVar16,pbVar21 + 1,puVar19,1);
                  pbVar17 = *(byte **)puVar7;
                  iVar16 = *(int *)puVar6;
LAB_0009fc74:
                  bVar2 = (int)pbVar21 < (int)pbVar17;
                  if (bVar2) {
                    pbVar21 = pbVar21 + 1;
                    bVar2 = (int)pbVar21 < (int)pbVar17;
LAB_0009fc38:
                    key = (int)(pbVar21 + iVar16);
                  }
                  else {
LAB_0009fb78:
                    key = (int)(pbVar21 + iVar16);
                  }
                }
                else {
                  if (uVar14 == 0x5c) {
                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {
LAB_0009fd20:
                      pbVar21 = pbVar21 + 1;
                    }
                    else {
                      iVar15 = 1;
                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&
                          *(int *)PTR_locale_utf8locale_00144afc == 0) {
                        iVar15 = (*(code *)PTR_mbrtowc_00146408)
                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);
                        if (iVar15 + 2U < 2) {
                          pbVar21 = pbVar21 + 1;
                          pbVar17 = *(byte **)puVar7;
                          iVar16 = *(int *)puVar6;
                          state.__count = iVar13;
                          state.__value = aVar10;
                          goto LAB_0009fc74;
                        }
                        pbVar17 = *(byte **)puVar7;
                        iVar16 = *(int *)puVar6;
                        if (iVar15 == 0) goto LAB_0009fd20;
                      }
                      pbVar21 = pbVar21 + iVar15;
                    }
                    goto LAB_0009fc74;
                  }
                  if (uVar14 == 0x22) {
                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)
                                                (iVar16,pbVar21 + 1,puVar18,1);
                    pbVar17 = *(byte **)puVar7;
                    iVar16 = *(int *)puVar6;
                    goto LAB_0009fc74;
                  }
                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {
LAB_0009fc30:
                    pbVar21 = pbVar21 + 1;
                    bVar2 = (int)pbVar21 < (int)pbVar17;
                    goto LAB_0009fc38;
                  }
                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>
                        (uVar14 & 0x1f) & 1) != 0) ||
                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {
                    iVar15 = 1;
LAB_0009fb70:
                    pbVar21 = pbVar21 + iVar15;
                    bVar2 = (int)pbVar21 < (int)pbVar17;
                    goto LAB_0009fb78;
                  }
                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)
                  ;
                  if (1 < iVar15 + 2U) {
                    pbVar17 = *(byte **)puVar7;
                    iVar16 = *(int *)puVar6;
                    if (iVar15 == 0) goto LAB_0009fc30;
                    goto LAB_0009fb70;
                  }
                  pbVar21 = pbVar21 + 1;
                  pbVar17 = *(byte **)puVar7;
                  iVar16 = *(int *)puVar6;
                  bVar2 = (int)pbVar21 < (int)pbVar17;
                  key = (int)(pbVar21 + iVar16);
                  state.__count = iVar13;
                  state.__value = aVar10;
                }
                uVar14 = (uint)(char)*(byte *)key;
              } while (bVar2);
            }
            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {
LAB_0009fb98:
              puVar22 = PTR_rl_ding_00145634;
              *(byte **)puVar8 = pbVar17;
              (*(code *)puVar22)();
              iVar20 = 0;
              goto LAB_0009fbac;
            }
          }
          else {
            do {
              aVar10 = state.__value;
              iVar13 = state.__count;
              if (*(int *)puVar4 < 2) {
FUN_0009fa88:
                pbVar21 = pbVar21 + 1;
              }
              else {
                key = (int)(pbVar21 + *(int *)puVar6);
                bVar1 = *(byte *)key;
                uVar14 = 1;
                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {
                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))
                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)
                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),
                        uVar14 + 2 < 2)) {
                    pbVar21 = pbVar21 + 1;
                    state.__count = iVar13;
                    state.__value = aVar10;
                    goto LAB_0009fa8c;
                  }
                  if (uVar14 == 0) goto FUN_0009fa88;
                }
                pbVar21 = pbVar21 + uVar14;
              }
LAB_0009fa8c:
            } while (((int)pbVar21 < *(int *)puVar7) &&
                    (key = (int)pbVar21,
                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),
                    iVar13 != 0));
          }
LAB_0009fab0:
          if (iVar20 == 0) goto LAB_0009ff1c;
LAB_0009fab8:
          iVar20 = iVar20 + -1;
        } while (*(byte **)puVar7 != pbVar21);
      }
      *(byte **)puVar8 = pbVar21;
      iVar20 = 0;
    }
  }
LAB_0009fbac:
  if (iVar11 == *(int *)puVar9) {
    return iVar20;
  }
  puVar22 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  if (**(int **)(puVar22 + 0xa456c) == 0) {
    iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c));
    return iVar11;
  }
  iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e28));
  return iVar11;
LAB_0009fdd8:
  aVar10 = state.__value;
  iVar16 = state.__count;
  if ((*(uint *)(puVar22 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;
  if (bVar1 == 0x27) {
    key = (int)(pbVar21 + 1);
    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar19,1);
    pbVar17 = *(byte **)puVar7;
LAB_0009fee8:
    if ((int)pbVar21 < (int)pbVar17) {
LAB_0009fec4:
      pbVar21 = pbVar21 + 1;
      goto LAB_0009fe54;
    }
LAB_0009fef4:
    if ((pbVar17 == pbVar21) || (pbVar21[*(int *)puVar6] == 0)) goto LAB_0009fe78;
    if (iVar20 != 0) goto LAB_0009fab8;
    goto LAB_0009ff1c;
  }
  if (bVar1 == 0x5c) {
    if (*(int *)puVar3 < 2) {
LAB_0009ffc0:
      pbVar21 = pbVar21 + 1;
    }
    else {
      iVar13 = 1;
      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&
          *(int *)PTR_locale_utf8locale_00144afc == 0) {
        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);
        if (iVar13 + 2U < 2) {
          pbVar21 = pbVar21 + 1;
          pbVar17 = *(byte **)puVar7;
          state.__count = iVar16;
          state.__value = aVar10;
          goto LAB_0009fee8;
        }
        pbVar17 = *(byte **)puVar7;
        if (iVar13 == 0) goto LAB_0009ffc0;
      }
      pbVar21 = pbVar21 + iVar13;
    }
    goto LAB_0009fee8;
  }
  if (bVar1 == 0x22) {
    key = (int)(pbVar21 + 1);
    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar18,1);
    pbVar17 = *(byte **)puVar7;
    goto LAB_0009fee8;
  }
  if (*(int *)puVar3 < 2) goto LAB_0009fec4;
  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)
     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {
    iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);
    if (1 < iVar13 + 2U) {
      pbVar17 = *(byte **)puVar7;
      if (iVar13 == 0) goto LAB_0009fec4;
      goto LAB_0009fe50;
    }
    pbVar21 = pbVar21 + 1;
    pbVar17 = *(byte **)puVar7;
    state.__count = iVar16;
    state.__value = aVar10;
  }
  else {
    iVar13 = 1;
LAB_0009fe50:
    pbVar21 = pbVar21 + iVar13;
  }
LAB_0009fe54:
  if ((int)pbVar17 <= (int)pbVar21) goto LAB_0009fef4;
  iVar13 = *(int *)puVar6;
  key = (int)(pbVar21 + iVar13);
  bVar1 = *(byte *)key;
  if (bVar1 == 0) goto LAB_0009fe78;
  goto LAB_0009fdd8;
LAB_0009fe78:
  *(byte **)puVar8 = pbVar17;
  iVar20 = 0;
  goto LAB_0009fbac;
}



undefined4 FUN_0009f940(int param_1)

{
  byte bVar1;
  bool bVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined *puVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  undefined4 uVar13;
  int iVar14;
  int iVar15;
  char *pcVar16;
  byte *pbVar17;
  undefined *puVar18;
  undefined *puVar19;
  int iVar20;
  undefined *puVar21;
  undefined4 local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined4 local_30;
  int local_2c;
  
  puVar9 = PTR___stack_chk_guard_001464dc;
  puVar8 = PTR_rl_point_0014555c;
  puVar7 = PTR_rl_end_00145558;
  puVar6 = PTR_rl_line_buffer_00145548;
  puVar21 = PTR_sh_syntaxtab_00144988;
  local_3c = 0;
  local_38 = 0;
  local_2c = *(int *)PTR___stack_chk_guard_001464dc;
  if (param_1 < 0) {
    uVar13 = FUN_0009f610(-param_1);
  }
  else {
    iVar20 = *(int *)PTR_rl_point_0014555c;
    iVar10 = *(int *)PTR_rl_end_00145558;
    if (param_1 == 0) {
LAB_0009ff1c:
      uVar13 = 0;
      *(int *)puVar8 = iVar20;
    }
    else {
      if (iVar10 != iVar20) {
        param_1 = param_1 + -1;
        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;
        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;
        do {
          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);
          puVar5 = PTR_is_basic_table_00144b04;
          puVar4 = PTR_locale_mb_cur_max_00144b00;
          puVar3 = PTR_locale_utf8locale_00144afc;
          iVar15 = *(int *)puVar6;
          pcVar16 = (char *)(iVar15 + iVar20);
          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {
            iVar11 = *(int *)puVar7;
            uVar12 = (uint)*pcVar16;
            if (iVar20 < iVar11) {
              do {
                puVar3 = PTR_locale_mb_cur_max_00144b00;
                if (uVar12 == 0) goto LAB_0009fb98;
                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {
                  iVar15 = *(int *)puVar6;
                  pbVar17 = (byte *)(iVar15 + iVar20);
                  bVar1 = *pbVar17;
                  if (bVar1 != 0) goto LAB_0009fdd8;
                  goto LAB_0009fe78;
                }
                if (uVar12 == 0x27) {
                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);
                  iVar11 = *(int *)puVar7;
                  iVar15 = *(int *)puVar6;
LAB_0009fc74:
                  bVar2 = iVar20 < iVar11;
                  if (bVar2) {
                    iVar20 = iVar20 + 1;
                    bVar2 = iVar20 < iVar11;
LAB_0009fc38:
                    pcVar16 = (char *)(iVar15 + iVar20);
                  }
                  else {
LAB_0009fb78:
                    pcVar16 = (char *)(iVar15 + iVar20);
                  }
                }
                else {
                  if (uVar12 == 0x5c) {
                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {
LAB_0009fd20:
                      iVar20 = iVar20 + 1;
                    }
                    else {
                      iVar14 = 1;
                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&
                          *(int *)PTR_locale_utf8locale_00144afc == 0) {
                        local_34 = local_3c;
                        local_30 = local_38;
                        iVar14 = (*(code *)PTR_mbrtowc_00146408)
                                           (0,pcVar16,iVar10 - iVar20,&local_3c);
                        if (iVar14 + 2U < 2) {
                          local_3c = local_34;
                          iVar20 = iVar20 + 1;
                          iVar11 = *(int *)puVar7;
                          iVar15 = *(int *)puVar6;
                          local_38 = local_30;
                          goto LAB_0009fc74;
                        }
                        iVar11 = *(int *)puVar7;
                        iVar15 = *(int *)puVar6;
                        if (iVar14 == 0) goto LAB_0009fd20;
                      }
                      iVar20 = iVar14 + iVar20;
                    }
                    goto LAB_0009fc74;
                  }
                  if (uVar12 == 0x22) {
                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);
                    iVar11 = *(int *)puVar7;
                    iVar15 = *(int *)puVar6;
                    goto LAB_0009fc74;
                  }
                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {
LAB_0009fc30:
                    iVar20 = iVar20 + 1;
                    bVar2 = iVar20 < iVar11;
                    goto LAB_0009fc38;
                  }
                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>
                        (uVar12 & 0x1f) & 1) != 0) ||
                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {
                    iVar14 = 1;
LAB_0009fb70:
                    iVar20 = iVar14 + iVar20;
                    bVar2 = iVar20 < iVar11;
                    goto LAB_0009fb78;
                  }
                  local_34 = local_3c;
                  local_30 = local_38;
                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);
                  if (1 < iVar14 + 2U) {
                    iVar11 = *(int *)puVar7;
                    iVar15 = *(int *)puVar6;
                    if (iVar14 == 0) goto LAB_0009fc30;
                    goto LAB_0009fb70;
                  }
                  local_3c = local_34;
                  iVar20 = iVar20 + 1;
                  iVar11 = *(int *)puVar7;
                  iVar15 = *(int *)puVar6;
                  local_38 = local_30;
                  bVar2 = iVar20 < iVar11;
                  pcVar16 = (char *)(iVar15 + iVar20);
                }
                uVar12 = (uint)*pcVar16;
              } while (bVar2);
            }
            if ((uVar12 == 0) || (iVar20 == iVar11)) {
LAB_0009fb98:
              puVar21 = PTR_rl_ding_00145634;
              *(int *)puVar8 = iVar11;
              (*(code *)puVar21)();
              uVar13 = 0;
              goto LAB_0009fbac;
            }
          }
          else {
            do {
              if (*(int *)puVar4 < 2) {
LAB_0009fa88:
                iVar20 = iVar20 + 1;
              }
              else {
                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);
                uVar12 = 1;
                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {
                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {
                    local_34 = local_3c;
                    local_30 = local_38;
                    uVar12 = (*(code *)PTR_mbrtowc_00146408)
                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,
                                        &local_3c);
                    if (1 < uVar12 + 2) goto LAB_0009fa80;
                    local_3c = local_34;
                    iVar20 = iVar20 + 1;
                    local_38 = local_30;
                    goto LAB_0009fa8c;
                  }
LAB_0009fa80:
                  if (uVar12 == 0) goto LAB_0009fa88;
                }
                iVar20 = iVar20 + uVar12;
              }
LAB_0009fa8c:
            } while ((iVar20 < *(int *)puVar7) &&
                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),
                    iVar11 != 0));
          }
LAB_0009fab0:
          if (param_1 == 0) goto LAB_0009ff1c;
LAB_0009fab8:
          param_1 = param_1 + -1;
        } while (*(int *)puVar7 != iVar20);
      }
      *(int *)puVar8 = iVar20;
      uVar13 = 0;
    }
  }
LAB_0009fbac:
  if (local_2c == *(int *)puVar9) {
    return uVar13;
  }
  puVar21 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  if (**(int **)(puVar21 + 0xa456c) == 0) {
    uVar13 = FUN_0009a73c();
    return uVar13;
  }
  uVar13 = FUN_0009a73c();
  return uVar13;
LAB_0009fdd8:
  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;
  if (bVar1 == 0x27) {
    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);
    iVar11 = *(int *)puVar7;
LAB_0009fee8:
    if (iVar20 < iVar11) {
LAB_0009fec4:
      iVar20 = iVar20 + 1;
      goto LAB_0009fe54;
    }
LAB_0009fef4:
    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;
    if (param_1 != 0) goto LAB_0009fab8;
    goto LAB_0009ff1c;
  }
  if (bVar1 == 0x5c) {
    if (*(int *)puVar3 < 2) {
LAB_0009ffc0:
      iVar20 = iVar20 + 1;
    }
    else {
      iVar15 = 1;
      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&
          *(int *)PTR_locale_utf8locale_00144afc == 0) {
        local_34 = local_3c;
        local_30 = local_38;
        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);
        if (iVar15 + 2U < 2) {
          local_3c = local_34;
          iVar20 = iVar20 + 1;
          iVar11 = *(int *)puVar7;
          local_38 = local_30;
          goto LAB_0009fee8;
        }
        iVar11 = *(int *)puVar7;
        if (iVar15 == 0) goto LAB_0009ffc0;
      }
      iVar20 = iVar20 + iVar15;
    }
    goto LAB_0009fee8;
  }
  if (bVar1 == 0x22) {
    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);
    iVar11 = *(int *)puVar7;
    goto LAB_0009fee8;
  }
  if (*(int *)puVar3 < 2) goto LAB_0009fec4;
  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)
     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {
    local_34 = local_3c;
    local_30 = local_38;
    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);
    if (1 < iVar15 + 2U) {
      iVar11 = *(int *)puVar7;
      if (iVar15 == 0) goto LAB_0009fec4;
      goto LAB_0009fe50;
    }
    local_3c = local_34;
    iVar20 = iVar20 + 1;
    iVar11 = *(int *)puVar7;
    local_38 = local_30;
  }
  else {
    iVar15 = 1;
LAB_0009fe50:
    iVar20 = iVar20 + iVar15;
  }
LAB_0009fe54:
  if (iVar11 <= iVar20) goto LAB_0009fef4;
  iVar15 = *(int *)puVar6;
  pbVar17 = (byte *)(iVar15 + iVar20);
  bVar1 = *pbVar17;
  if (bVar1 == 0) goto LAB_0009fe78;
  goto LAB_0009fdd8;
LAB_0009fe78:
  *(int *)puVar8 = iVar11;
  uVar13 = 0;
  goto LAB_0009fbac;
}


lui gp,0xb
addiu gp,gp,-0x3400
addu gp,gp,t9
lw v0,-0x6064(gp)
addiu sp,sp,-0x70
sw s8,0x68(sp)
addiu s8,sp,0x34
sw v0,0x28(sp)
sw gp,0x10(sp)
sw ra,0x6c(sp)
sw s7,0x64(sp)
sw s6,0x60(sp)
sw s5,0x5c(sp)
sw s4,0x58(sp)
sw s3,0x54(sp)
sw s2,0x50(sp)
sw s1,0x4c(sp)
sw s0,0x48(sp)
sw zero,0x34(sp)
sw zero,0x4(s8)
lw v0,0x0(v0)
sw v0,0x44(sp)
bltz a0,0x000a0000
_lw t9,-0x70e0(gp)
lw v0,-0x6fe4(gp)
lw s2,-0x6fe8(gp)
sw v0,0x2c(sp)
lw s7,0x0(v0)
lw v0,0x0(s2)
beq a0,zero,0x0009ff18
_sw v0,0x20(sp)
beq v0,s7,0x0009fac8
_lw v0,0x2c(sp)
lw s4,-0x7aac(gp)
addiu s5,a0,-0x1
lw s3,-0x7aac(gp)
lw s0,-0x6ff8(gp)
lw s1,-0x7bb8(gp)
addiu s4,s4,-0x6ee0
addiu s3,s3,-0x6de0
lw t9,-0x6f10(gp)
or a1,s7,zero
jalr t9
_lw a0,0x0(s0)
lw a0,0x0(s0)
lw gp,0x10(sp)
beq v0,zero,0x0009fadc
_addu a1,a0,s7
blez s7,0x0009fadc
_nop
lb a2,-0x1(a1)
li v0,0x5c
beq a2,v0,0x0009fadc
_lw s6,-0x7a40(gp)
lw v0,-0x7a3c(gp)
sw v0,0x1c(sp)
lw v0,-0x7a44(gp)
sw v0,0x24(sp)
lw v0,0x0(s6)
slti v0,v0,0x2
bne v0,zero,0x0009fa88
_lw v0,0x1c(sp)
lw a1,0x0(s0)
addu a1,a1,s7
lb a2,0x0(a1)
andi a3,a2,0xff
srl a0,a3,0x5
sll a0,a0,0x2
addu a0,v0,a0
lw v0,0x0(a0)
srlv v0,v0,a3
andi v0,v0,0x1
bne v0,zero,0x0009fad4
_li v0,0x1
lw v0,0x24(sp)
lw v0,0x0(v0)
beq v0,zero,0x0009fd2c
_lw v0,0x20(sp)
bltz a2,0x0009fd28
_sltu v0,zero,a2
bne v0,zero,0x0009fad4
_nop
addiu s7,s7,0x1
lw v0,0x0(s2)
slt v0,s7,v0
beq v0,zero,0x0009fab0
_lw t9,-0x6f10(gp)
or a1,s7,zero
jalr t9
_lw a0,0x0(s0)
bne v0,zero,0x0009fa28
_lw gp,0x10(sp)
beq s5,zero,0x0009ff1c
_lw v1,0x2c(sp)
lw v0,0x0(s2)
bne v0,s7,0x0009f9e0
_addiu s5,s5,-0x1
lw v0,0x2c(sp)
sw s7,0x0(v0)
b 0x0009fbac
_or v0,zero,zero
b 0x0009fa8c
_addu s7,s7,v0
lw a2,0x0(s2)
slt a3,s7,a2
beq a3,zero,0x0009fb84
_lb v0,0x0(a1)
beq v0,zero,0x0009fb94
_andi t1,v0,0xff
sll a3,t1,0x2
addu a3,s1,a3
lw a3,0x0(a3)
andi a3,a3,0x2001
beq a3,zero,0x0009fdc0
_li a3,0x27
beq v0,a3,0x0009fc8c
_li a3,0x5c
beq v0,a3,0x0009fc40
_li a3,0x22
beq v0,a3,0x0009fcb4
_lw s6,-0x7a40(gp)
lw a3,0x0(s6)
slti a3,a3,0x2
bne a3,zero,0x0009fc30
_nop
srl a3,t1,0x5
sll t2,a3,0x2
lw a3,-0x7a3c(gp)
addu a3,a3,t2
lw a3,0x0(a3)
srlv t1,a3,t1
andi t1,t1,0x1
bne t1,zero,0x0009fb6c
_lw a3,-0x7a44(gp)
lw a3,0x0(a3)
beq a3,zero,0x0009fbec
_nop
bltz v0,0x0009fbec
_nop
li v0,0x1
addu s7,v0,s7
slt a3,s7,a2
addu a1,a0,s7
bne a3,zero,0x0009faec
_lb v0,0x0(a1)
beq v0,zero,0x0009fb98
_lw v0,0x2c(sp)
bne s7,a2,0x0009fab0
_nop
lw v0,0x2c(sp)
lw t9,-0x6f0c(gp)
jalr t9
_sw a2,0x0(v0)
or v0,zero,zero
lw gp,0x10(sp)
lw v1,0x28(sp)
lw a0,0x44(sp)
lw v1,0x0(v1)
bne a0,v1,0x000a0014
_lw ra,0x6c(sp)
lw s8,0x68(sp)
lw s7,0x64(sp)
lw s6,0x60(sp)
lw s5,0x5c(sp)
lw s4,0x58(sp)
lw s3,0x54(sp)
lw s2,0x50(sp)
lw s1,0x4c(sp)
lw s0,0x48(sp)
jr ra
_addiu sp,sp,0x70
lw v0,0x20(sp)
or a0,zero,zero
lw t9,-0x6138(gp)
or a3,s8,zero
subu a2,v0,s7
lw v0,0x34(sp)
sw v0,0x3c(sp)
lw v0,0x38(sp)
jalr t9
_sw v0,0x40(sp)
addiu a0,v0,0x2
sltiu a0,a0,0x2
bne a0,zero,0x0009fd78
_lw gp,0x10(sp)
lw a2,0x0(s2)
bne v0,zero,0x0009fb70
_lw a0,0x0(s0)
addiu s7,s7,0x1
slt a3,s7,a2
b 0x0009fb7c
_addu a1,a0,s7
lw s6,-0x7a40(gp)
lw v0,0x0(s6)
slti v0,v0,0x2
bne v0,zero,0x0009fd20
_lw a3,-0x7a44(gp)
lw v0,-0x7a3c(gp)
lw v0,0x8(v0)
lw a3,0x0(a3)
ext v0,v0,0x1c,0x1
or v0,v0,a3
beq v0,zero,0x0009fcdc
_li v0,0x1
addu s7,v0,s7
slt a3,s7,a2
beq a3,zero,0x0009fb78
_nop
addiu s7,s7,0x1
b 0x0009fc38
_slt a3,s7,a2
lw t9,-0x7a30(gp)
addiu a1,s7,0x1
li a3,0x1
jalr t9
_or a2,s4,zero
lw gp,0x10(sp)
or s7,v0,zero
lw a2,0x0(s2)
b 0x0009fc74
_lw a0,0x0(s0)
lw t9,-0x7a30(gp)
addiu a1,s7,0x1
li a3,0x1
jalr t9
_or a2,s3,zero
lw gp,0x10(sp)
or s7,v0,zero
lw a2,0x0(s2)
b 0x0009fc74
_lw a0,0x0(s0)
lw v0,0x20(sp)
or a0,zero,zero
lw t9,-0x6138(gp)
or a3,s8,zero
subu a2,v0,s7
lw v0,0x34(sp)
sw v0,0x3c(sp)
lw v0,0x38(sp)
jalr t9
_sw v0,0x40(sp)
addiu a0,v0,0x2
sltiu a0,a0,0x2
bne a0,zero,0x0009fda0
_lw gp,0x10(sp)
lw a2,0x0(s2)
bne v0,zero,0x0009fc70
_lw a0,0x0(s0)
b 0x0009fc74
_addiu s7,s7,0x1
lw v0,0x20(sp)
or a0,zero,zero
lw t9,-0x6138(gp)
or a3,s8,zero
subu a2,v0,s7
lw v0,0x34(sp)
sw v0,0x3c(sp)
lw v0,0x38(sp)
jalr t9
_sw v0,0x40(sp)
addiu a0,v0,0x2
sltiu a0,a0,0x2
beq a0,zero,0x0009fa80
_lw gp,0x10(sp)
lw v0,0x3c(sp)
addiu s7,s7,0x1
sw v0,0x34(sp)
lw v0,0x40(sp)
b 0x0009fa8c
_sw v0,0x38(sp)
lw v0,0x3c(sp)
addiu s7,s7,0x1
lw a2,0x0(s2)
lw a0,0x0(s0)
sw v0,0x34(sp)
lw v0,0x40(sp)
slt a3,s7,a2
addu a1,a0,s7
b 0x0009fb7c
_sw v0,0x38(sp)
lw v0,0x3c(sp)
addiu s7,s7,0x1
lw a2,0x0(s2)
lw a0,0x0(s0)
sw v0,0x34(sp)
lw v0,0x40(sp)
b 0x0009fc74
_sw v0,0x38(sp)
lw a0,0x0(s0)
addu a1,a0,s7
lb v0,0x0(a1)
beq v0,zero,0x0009fe74
_lw s6,-0x7a40(gp)
andi t1,v0,0xff
sll a3,t1,0x2
addu a3,s1,a3
lw a3,0x0(a3)
andi a3,a3,0x2001
bne a3,zero,0x0009fab0
_li a3,0x27
beq v0,a3,0x0009ff5c
_li a3,0x5c
beq v0,a3,0x0009ff28
_li a3,0x22
beq v0,a3,0x0009fecc
_lw t9,-0x7a30(gp)
lw a0,0x0(s6)
slti a0,a0,0x2
bne a0,zero,0x0009fec4
_srl a0,t1,0x5
sll a3,a0,0x2
lw a0,-0x7a3c(gp)
addu a0,a0,a3
lw a0,0x0(a0)
srlv t1,a0,t1
andi t1,t1,0x1
bne t1,zero,0x0009fe4c
_lw a0,-0x7a44(gp)
lw a0,0x0(a0)
beq a0,zero,0x0009fe84
_nop
bltz v0,0x0009fe88
_lw v0,0x20(sp)
li v0,0x1
addu s7,s7,v0
slt v0,s7,a2
beq v0,zero,0x0009fef4
_nop
lw a0,0x0(s0)
addu a1,a0,s7
lb v0,0x0(a1)
bne v0,zero,0x0009fdd8
_andi t1,v0,0xff
lw v0,0x2c(sp)
sw a2,0x0(v0)
b 0x0009fbac
_or v0,zero,zero
lw v0,0x20(sp)
or a0,zero,zero
lw t9,-0x6138(gp)
or a3,s8,zero
subu a2,v0,s7
lw v0,0x34(sp)
sw v0,0x3c(sp)
lw v0,0x38(sp)
jalr t9
_sw v0,0x40(sp)
addiu a0,v0,0x2
sltiu a0,a0,0x2
bne a0,zero,0x0009ffc8
_lw gp,0x10(sp)
bne v0,zero,0x0009fe50
_lw a2,0x0(s2)
b 0x0009fe54
_addiu s7,s7,0x1
addiu a1,s7,0x1
li a3,0x1
jalr t9
_or a2,s3,zero
lw gp,0x10(sp)
or s7,v0,zero
lw a2,0x0(s2)
slt v0,s7,a2
bne v0,zero,0x0009fec4
_nop
beq a2,s7,0x0009fe78
_lw v0,0x2c(sp)
lw v0,0x0(s0)
addu v0,v0,s7
lb v0,0x0(v0)
beq v0,zero,0x0009fe78
_lw v0,0x2c(sp)
bne s5,zero,0x0009fab8
_nop
lw v1,0x2c(sp)
or v0,zero,zero
b 0x0009fbac
_sw s7,0x0(v1)
lw v0,0x0(s6)
slti v0,v0,0x2
bne v0,zero,0x0009ffc0
_lw v0,-0x7a3c(gp)
lw a0,-0x7a44(gp)
lw v0,0x8(v0)
lw a0,0x0(a0)
ext v0,v0,0x1c,0x1
or v0,v0,a0
beq v0,zero,0x0009ff80
_li v0,0x1
b 0x0009fee8
_addu s7,s7,v0
lw t9,-0x7a30(gp)
addiu a1,s7,0x1
li a3,0x1
jalr t9
_or a2,s4,zero
lw gp,0x10(sp)
or s7,v0,zero
b 0x0009fee8
_lw a2,0x0(s2)
lw v0,0x20(sp)
or a0,zero,zero
lw t9,-0x6138(gp)
or a3,s8,zero
subu a2,v0,s7
lw v0,0x34(sp)
sw v0,0x3c(sp)
lw v0,0x38(sp)
jalr t9
_sw v0,0x40(sp)
addiu a0,v0,0x2
sltiu a0,a0,0x2
bne a0,zero,0x0009ffe4
_lw gp,0x10(sp)
bne v0,zero,0x0009ff54
_lw a2,0x0(s2)
b 0x0009fee8
_addiu s7,s7,0x1
lw v0,0x3c(sp)
addiu s7,s7,0x1
lw a2,0x0(s2)
sw v0,0x34(sp)
lw v0,0x40(sp)
b 0x0009fe54
_sw v0,0x38(sp)
lw v0,0x3c(sp)
addiu s7,s7,0x1
lw a2,0x0(s2)
sw v0,0x34(sp)
lw v0,0x40(sp)
b 0x0009fee8
_sw v0,0x38(sp)
addiu t9,t9,-0x9f0
bal 0x0009f610
_subu a0,zero,a0
b 0x0009fbac
_lw gp,0x10(sp)
lw t9,-0x60b8(gp)
jalr t9
_nop
lui gp,0xb
addiu gp,gp,-0x3ae0
addu gp,gp,t9
lw v0,-0x7fb4(gp)
lw v0,0x0(v0)
beq v0,zero,0x000a0050
_or a2,zero,zero
lw a3,-0x7aac(gp)
lw t9,-0x70e0(gp)
addiu t9,t9,-0x58c4
b 0x0009a73c
_addiu a3,a3,-0x6e28
lw a3,-0x7aac(gp)
lw t9,-0x70e0(gp)
addiu t9,t9,-0x58c4
b 0x0009a73c
_addiu a3,a3,-0x6e1c
(translation_unit "undefined4 FUN_0009f940(int param_1)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined *puVar21;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar21 = PTR_sh_syntaxtab_00144988;\n  local_3c = 0;\n  local_38 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }\n  uVar13 = FUN_0009a73c();\n  return uVar13;\nLAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }\nLAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;\n  iVar15 = *(int *)puVar6;\n  pbVar17 = (byte *)(iVar15 + iVar20);\n  bVar1 = *pbVar17;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(int *)puVar8 = iVar11;\n  uVar13 = 0;\n  goto LAB_0009fbac;\n}\n\n" (function_definition "undefined4 FUN_0009f940(int param_1)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined *puVar21;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar21 = PTR_sh_syntaxtab_00144988;\n  local_3c = 0;\n  local_38 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }\n  uVar13 = FUN_0009a73c();\n  return uVar13;\nLAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }\nLAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;\n  iVar15 = *(int *)puVar6;\n  pbVar17 = (byte *)(iVar15 + iVar20);\n  bVar1 = *pbVar17;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(int *)puVar8 = iVar11;\n  uVar13 = 0;\n  goto LAB_0009fbac;\n}" type_identifier (function_declarator "FUN_0009f940(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined *puVar21;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar21 = PTR_sh_syntaxtab_00144988;\n  local_3c = 0;\n  local_38 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }\n  uVar13 = FUN_0009a73c();\n  return uVar13;\nLAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }\nLAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;\n  iVar15 = *(int *)puVar6;\n  pbVar17 = (byte *)(iVar15 + iVar20);\n  bVar1 = *pbVar17;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(int *)puVar8 = iVar11;\n  uVar13 = 0;\n  goto LAB_0009fbac;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar9 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar9 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar8 = PTR_rl_point_0014555c;" (assignment_expression "puVar8 = PTR_rl_point_0014555c" identifier = identifier) ;) (expression_statement "puVar7 = PTR_rl_end_00145558;" (assignment_expression "puVar7 = PTR_rl_end_00145558" identifier = identifier) ;) (expression_statement "puVar6 = PTR_rl_line_buffer_00145548;" (assignment_expression "puVar6 = PTR_rl_line_buffer_00145548" identifier = identifier) ;) (expression_statement "puVar21 = PTR_sh_syntaxtab_00144988;" (assignment_expression "puVar21 = PTR_sh_syntaxtab_00144988" identifier = identifier) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" * (cast_expression "(int *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }" if (parenthesized_expression "(param_1 < 0)" ( (binary_expression "param_1 < 0" identifier < number_literal) )) (compound_statement "{\n    uVar13 = FUN_0009f610(-param_1);\n  }" { (expression_statement "uVar13 = FUN_0009f610(-param_1);" (assignment_expression "uVar13 = FUN_0009f610(-param_1)" identifier = (call_expression "FUN_0009f610(-param_1)" identifier (argument_list "(-param_1)" ( (unary_expression "-param_1" - identifier) )))) ;) }) (else_clause "else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }" else (compound_statement "{\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }" { (expression_statement "iVar20 = *(int *)PTR_rl_point_0014555c;" (assignment_expression "iVar20 = *(int *)PTR_rl_point_0014555c" identifier = (pointer_expression "*(int *)PTR_rl_point_0014555c" * (cast_expression "(int *)PTR_rl_point_0014555c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar10 = *(int *)PTR_rl_end_00145558;" (assignment_expression "iVar10 = *(int *)PTR_rl_end_00145558" identifier = (pointer_expression "*(int *)PTR_rl_end_00145558" * (cast_expression "(int *)PTR_rl_end_00145558" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }" { (labeled_statement "LAB_0009ff1c:\n      uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) (expression_statement "*(int *)puVar8 = iVar20;" (assignment_expression "*(int *)puVar8 = iVar20" (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }" else (compound_statement "{\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }" { (if_statement "if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }" if (parenthesized_expression "(iVar10 != iVar20)" ( (binary_expression "iVar10 != iVar20" identifier != identifier) )) (compound_statement "{\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }" { (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;) (expression_statement "puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;" (assignment_expression "puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0" identifier = (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0" identifier + number_literal)) ;) (expression_statement "puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;" (assignment_expression "puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0" identifier = (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0" identifier + number_literal)) ;) (do_statement "do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);" do (compound_statement "{\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        }" { (expression_statement "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);" (assignment_expression "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" identifier = (call_expression "(*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" (parenthesized_expression "(*(code *)PTR_char_is_quoted_00145630)" ( (pointer_expression "*(code *)PTR_char_is_quoted_00145630" * (cast_expression "(code *)PTR_char_is_quoted_00145630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar6,iVar20)" ( (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier )))) ;) (expression_statement "puVar5 = PTR_is_basic_table_00144b04;" (assignment_expression "puVar5 = PTR_is_basic_table_00144b04" identifier = identifier) ;) (expression_statement "puVar4 = PTR_locale_mb_cur_max_00144b00;" (assignment_expression "puVar4 = PTR_locale_mb_cur_max_00144b00" identifier = identifier) ;) (expression_statement "puVar3 = PTR_locale_utf8locale_00144afc;" (assignment_expression "puVar3 = PTR_locale_utf8locale_00144afc" identifier = identifier) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" identifier = (cast_expression "(char *)(iVar15 + iVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;) (if_statement "if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }" if (parenthesized_expression "(((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\'))" ( (binary_expression "((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')" (parenthesized_expression "((iVar11 == 0) || (iVar20 < 1))" ( (binary_expression "(iVar11 == 0) || (iVar20 < 1)" (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar20 < 1)" ( (binary_expression "iVar20 < 1" identifier < number_literal) ))) )) || (parenthesized_expression "(pcVar16[-1] == '\\')" ( (binary_expression "pcVar16[-1] == '\\'" (subscript_expression "pcVar16[-1]" identifier [ number_literal ]) == (char_literal "'\\'" ' escape_sequence ')) ))) )) (compound_statement "{\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }" { (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar12 = (uint)*pcVar16;" (assignment_expression "uVar12 = (uint)*pcVar16" identifier = (binary_expression "(uint)*pcVar16" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }" if (parenthesized_expression "(iVar20 < iVar11)" ( (binary_expression "iVar20 < iVar11" identifier < identifier) )) (compound_statement "{\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }" { (do_statement "do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);" do (compound_statement "{\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              }" { (expression_statement "puVar3 = PTR_locale_mb_cur_max_00144b00;" (assignment_expression "puVar3 = PTR_locale_mb_cur_max_00144b00" identifier = identifier) ;) (if_statement "if (uVar12 == 0) goto LAB_0009fb98;" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fb98;" goto statement_identifier ;)) (if_statement "if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }" if (parenthesized_expression "((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0)" ( (binary_expression "(*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0" (parenthesized_expression "(*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001)" ( (binary_expression "*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001" (pointer_expression "*(uint *)(puVar21 + (uVar12 & 0xff) * 4)" * (cast_expression "(uint *)(puVar21 + (uVar12 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + (uVar12 & 0xff) * 4)" ( (binary_expression "puVar21 + (uVar12 & 0xff) * 4" identifier + (binary_expression "(uVar12 & 0xff) * 4" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }" { (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar17 = (byte *)(iVar15 + iVar20);" (assignment_expression "pbVar17 = (byte *)(iVar15 + iVar20)" identifier = (cast_expression "(byte *)(iVar15 + iVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;) (expression_statement "bVar1 = *pbVar17;" (assignment_expression "bVar1 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (if_statement "if (bVar1 != 0) goto LAB_0009fdd8;" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009fdd8;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fe78;" goto statement_identifier ;) })) (if_statement "if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }" if (parenthesized_expression "(uVar12 == 0x27)" ( (binary_expression "uVar12 == 0x27" identifier == number_literal) )) (compound_statement "{\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }" { (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" identifier = (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar15,iVar20 + 1,puVar19,1)" ( identifier , (binary_expression "iVar20 + 1" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;" statement_identifier : (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" identifier = (binary_expression "iVar20 < iVar11" identifier < identifier)) ;)) (if_statement "if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" { (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" identifier = (binary_expression "iVar20 < iVar11" identifier < identifier)) ;) (labeled_statement "LAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);" statement_identifier : (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" identifier = (cast_expression "(char *)(iVar15 + iVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;)) }) (else_clause "else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" else (compound_statement "{\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" { (labeled_statement "LAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);" statement_identifier : (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" identifier = (cast_expression "(char *)(iVar15 + iVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;)) }))) }) (else_clause "else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }" else (compound_statement "{\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }" { (if_statement "if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }" if (parenthesized_expression "(uVar12 == 0x5c)" ( (binary_expression "uVar12 == 0x5c" identifier == number_literal) )) (compound_statement "{\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }" { (if_statement "if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }" if (parenthesized_expression "(*(int *)PTR_locale_mb_cur_max_00144b00 < 2)" ( (binary_expression "*(int *)PTR_locale_mb_cur_max_00144b00 < 2" (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" * (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }" { (labeled_statement "LAB_0009fd20:\n                      iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }" else (compound_statement "{\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }" { (expression_statement "iVar14 = 1;" (assignment_expression "iVar14 = 1" identifier = number_literal) ;) (if_statement "if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }" if (parenthesized_expression "(-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0)" ( (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0" (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3" number_literal < (binary_expression "*(int *)(PTR_is_basic_table_00144b04 + 8) << 3" (pointer_expression "*(int *)(PTR_is_basic_table_00144b04 + 8)" * (cast_expression "(int *)(PTR_is_basic_table_00144b04 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + 8)" ( (binary_expression "PTR_is_basic_table_00144b04 + 8" identifier + number_literal) )))) << number_literal)) && (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) )) (compound_statement "{\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }" { (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" identifier = identifier) ;) (expression_statement "iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pcVar16,iVar10 - iVar20,&local_3c)" ( number_literal , identifier , (binary_expression "iVar10 - iVar20" identifier - identifier) , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }" if (parenthesized_expression "(iVar14 + 2U < 2)" ( (binary_expression "iVar14 + 2U < 2" (binary_expression "iVar14 + 2U" identifier + number_literal) < number_literal) )) (compound_statement "{\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }" { (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_0009fc74;" goto statement_identifier ;) })) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar14 == 0) goto LAB_0009fd20;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fd20;" goto statement_identifier ;)) })) (expression_statement "iVar20 = iVar14 + iVar20;" (assignment_expression "iVar20 = iVar14 + iVar20" identifier = (binary_expression "iVar14 + iVar20" identifier + identifier)) ;) }))) (goto_statement "goto LAB_0009fc74;" goto statement_identifier ;) })) (if_statement "if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }" if (parenthesized_expression "(uVar12 == 0x22)" ( (binary_expression "uVar12 == 0x22" identifier == number_literal) )) (compound_statement "{\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }" { (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" identifier = (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar15,iVar20 + 1,puVar18,1)" ( identifier , (binary_expression "iVar20 + 1" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_0009fc74;" goto statement_identifier ;) })) (if_statement "if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }" if (parenthesized_expression "(*(int *)PTR_locale_mb_cur_max_00144b00 < 2)" ( (binary_expression "*(int *)PTR_locale_mb_cur_max_00144b00 < 2" (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" * (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }" { (labeled_statement "LAB_0009fc30:\n                    iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" identifier = (binary_expression "iVar20 < iVar11" identifier < identifier)) ;) (goto_statement "goto LAB_0009fc38;" goto statement_identifier ;) })) (if_statement "if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }" if (parenthesized_expression "(((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12))))" ( (binary_expression "((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))" (parenthesized_expression "((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0)" ( (binary_expression "(*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1)" ( (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1" (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f)" (pointer_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4)" * (cast_expression "(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4)" ( (binary_expression "PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4" identifier + (binary_expression "((uVar12 & 0xff) >> 5) * 4" (parenthesized_expression "((uVar12 & 0xff) >> 5)" ( (binary_expression "(uVar12 & 0xff) >> 5" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) >> number_literal) )) * number_literal)) )))) >> (parenthesized_expression "(uVar12 & 0x1f)" ( (binary_expression "uVar12 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))" ( (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12))" ( (binary_expression "*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)" (binary_expression "*(int *)PTR_locale_utf8locale_00144afc != 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) && (parenthesized_expression "(-1 < (int)uVar12)" ( (binary_expression "-1 < (int)uVar12" number_literal < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }" { (expression_statement "iVar14 = 1;" (assignment_expression "iVar14 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;" statement_identifier : (expression_statement "iVar20 = iVar14 + iVar20;" (assignment_expression "iVar20 = iVar14 + iVar20" identifier = (binary_expression "iVar14 + iVar20" identifier + identifier)) ;)) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" identifier = (binary_expression "iVar20 < iVar11" identifier < identifier)) ;) (goto_statement "goto LAB_0009fb78;" goto statement_identifier ;) })) (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" identifier = identifier) ;) (expression_statement "iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pcVar16,iVar10 - iVar20,&local_3c)" ( number_literal , identifier , (binary_expression "iVar10 - iVar20" identifier - identifier) , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }" if (parenthesized_expression "(1 < iVar14 + 2U)" ( (binary_expression "1 < iVar14 + 2U" number_literal < (binary_expression "iVar14 + 2U" identifier + number_literal)) )) (compound_statement "{\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }" { (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar14 == 0) goto LAB_0009fc30;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fc30;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fb70;" goto statement_identifier ;) })) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" identifier = (binary_expression "iVar20 < iVar11" identifier < identifier)) ;) (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" identifier = (cast_expression "(char *)(iVar15 + iVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;) }))) (expression_statement "uVar12 = (uint)*pcVar16;" (assignment_expression "uVar12 = (uint)*pcVar16" identifier = (binary_expression "(uint)*pcVar16" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) while (parenthesized_expression "(bVar2)" ( identifier )) ;) })) (if_statement "if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }" if (parenthesized_expression "((uVar12 == 0) || (iVar20 == iVar11))" ( (binary_expression "(uVar12 == 0) || (iVar20 == iVar11)" (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar20 == iVar11)" ( (binary_expression "iVar20 == iVar11" identifier == identifier) ))) )) (compound_statement "{\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }" { (labeled_statement "LAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;" statement_identifier : (expression_statement "puVar21 = PTR_rl_ding_00145634;" (assignment_expression "puVar21 = PTR_rl_ding_00145634" identifier = identifier) ;)) (expression_statement "*(int *)puVar8 = iVar11;" (assignment_expression "*(int *)puVar8 = iVar11" (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "(*(code *)puVar21)();" (call_expression "(*(code *)puVar21)()" (parenthesized_expression "(*(code *)puVar21)" ( (pointer_expression "*(code *)puVar21" * (cast_expression "(code *)puVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0009fbac;" goto statement_identifier ;) })) }) (else_clause "else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }" else (compound_statement "{\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }" { (do_statement "do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));" do (compound_statement "{\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            }" { (if_statement "if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }" if (parenthesized_expression "(*(int *)puVar4 < 2)" ( (binary_expression "*(int *)puVar4 < 2" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }" { (labeled_statement "LAB_0009fa88:\n                iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }" else (compound_statement "{\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }" { (expression_statement "bVar1 = *(byte *)(*(int *)puVar6 + iVar20);" (assignment_expression "bVar1 = *(byte *)(*(int *)puVar6 + iVar20)" identifier = (pointer_expression "*(byte *)(*(int *)puVar6 + iVar20)" * (cast_expression "(byte *)(*(int *)puVar6 + iVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar20)" ( (binary_expression "*(int *)puVar6 + iVar20" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) ))))) ;) (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" identifier = number_literal) ;) (if_statement "if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }" if (parenthesized_expression "((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" ( (binary_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4)" * (cast_expression "(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + (uint)(bVar1 >> 5) * 4)" ( (binary_expression "puVar5 + (uint)(bVar1 >> 5) * 4" identifier + (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 >> 5)" ( (binary_expression "bVar1 >> 5" identifier >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(bVar1 & 0x1f)" ( (binary_expression "bVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }" { (if_statement "if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }" if (parenthesized_expression "((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))" ( (binary_expression "(*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')" (parenthesized_expression "(*(int *)puVar3 == 0)" ( (binary_expression "*(int *)puVar3 == 0" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')" ( (comma_expression "uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0'" (assignment_expression "uVar12 = (uint)(bVar1 != 0)" identifier = (call_expression "(uint)(bVar1 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )))) , (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }" { (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" identifier = identifier) ;) (expression_statement "uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);" (assignment_expression "uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c)" ( number_literal , (cast_expression "(byte *)(*(int *)puVar6 + iVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar20)" ( (binary_expression "*(int *)puVar6 + iVar20" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) ))) , (binary_expression "iVar10 - iVar20" identifier - identifier) , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (1 < uVar12 + 2) goto LAB_0009fa80;" if (parenthesized_expression "(1 < uVar12 + 2)" ( (binary_expression "1 < uVar12 + 2" number_literal < (binary_expression "uVar12 + 2" identifier + number_literal)) )) (goto_statement "goto LAB_0009fa80;" goto statement_identifier ;)) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_0009fa8c;" goto statement_identifier ;) })) (labeled_statement "LAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;" statement_identifier : (if_statement "if (uVar12 == 0) goto LAB_0009fa88;" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fa88;" goto statement_identifier ;))) })) (expression_statement "iVar20 = iVar20 + uVar12;" (assignment_expression "iVar20 = iVar20 + uVar12" identifier = (binary_expression "iVar20 + uVar12" identifier + identifier)) ;) }))) (labeled_statement "LAB_0009fa8c:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0))" ( (binary_expression "(iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0)" (parenthesized_expression "(iVar20 < *(int *)puVar7)" ( (binary_expression "iVar20 < *(int *)puVar7" identifier < (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0)" ( (comma_expression "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0" (assignment_expression "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" identifier = (call_expression "(*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" (parenthesized_expression "(*(code *)PTR_char_is_quoted_00145630)" ( (pointer_expression "*(code *)PTR_char_is_quoted_00145630" * (cast_expression "(code *)PTR_char_is_quoted_00145630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar6,iVar20)" ( (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier )))) , (binary_expression "iVar11 != 0" identifier != number_literal)) ))) )) ;) }))) (labeled_statement "LAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;" statement_identifier : (if_statement "if (param_1 == 0) goto LAB_0009ff1c;" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009ff1c;" goto statement_identifier ;))) (labeled_statement "LAB_0009fab8:\n          param_1 = param_1 + -1;" statement_identifier : (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(*(int *)puVar7 != iVar20)" ( (binary_expression "*(int *)puVar7 != iVar20" (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != identifier) )) ;) })) (expression_statement "*(int *)puVar8 = iVar20;" (assignment_expression "*(int *)puVar8 = iVar20" (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar9)" ( (binary_expression "local_2c == *(int *)puVar9" identifier == (pointer_expression "*(int *)puVar9" * (cast_expression "(int *)puVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return uVar13;\n  }" { (return_statement "return uVar13;" return identifier ;) }))) (expression_statement "puVar21 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar21 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }" if (parenthesized_expression "(**(int **)(puVar21 + 0xa456c) == 0)" ( (binary_expression "**(int **)(puVar21 + 0xa456c) == 0" (pointer_expression "**(int **)(puVar21 + 0xa456c)" * (pointer_expression "*(int **)(puVar21 + 0xa456c)" * (cast_expression "(int **)(puVar21 + 0xa456c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0xa456c)" ( (binary_expression "puVar21 + 0xa456c" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }" { (expression_statement "uVar13 = FUN_0009a73c();" (assignment_expression "uVar13 = FUN_0009a73c()" identifier = (call_expression "FUN_0009a73c()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar13;" return identifier ;) })) (expression_statement "uVar13 = FUN_0009a73c();" (assignment_expression "uVar13 = FUN_0009a73c()" identifier = (call_expression "FUN_0009a73c()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar13;" return identifier ;) (labeled_statement "LAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;" statement_identifier : (if_statement "if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;" if (parenthesized_expression "((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0)" ( (binary_expression "(*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0" (parenthesized_expression "(*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001)" ( (binary_expression "*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001" (pointer_expression "*(uint *)(puVar21 + (uint)bVar1 * 4)" * (cast_expression "(uint *)(puVar21 + (uint)bVar1 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + (uint)bVar1 * 4)" ( (binary_expression "puVar21 + (uint)bVar1 * 4" identifier + (binary_expression "(uint)bVar1 * 4" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009fab0;" goto statement_identifier ;))) (if_statement "if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }" if (parenthesized_expression "(bVar1 == 0x27)" ( (binary_expression "bVar1 == 0x27" identifier == number_literal) )) (compound_statement "{\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }" { (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" identifier = (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar15,iVar20 + 1,puVar19,1)" ( identifier , (binary_expression "iVar20 + 1" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }" statement_identifier : (if_statement "if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }" if (parenthesized_expression "(iVar20 < iVar11)" ( (binary_expression "iVar20 < iVar11" identifier < identifier) )) (compound_statement "{\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }" { (labeled_statement "LAB_0009fec4:\n      iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_0009fe54;" goto statement_identifier ;) }))) (labeled_statement "LAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;" statement_identifier : (if_statement "if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;" if (parenthesized_expression "((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0'))" ( (binary_expression "(iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')" (parenthesized_expression "(iVar11 == iVar20)" ( (binary_expression "iVar11 == iVar20" identifier == identifier) )) || (parenthesized_expression "(*(char *)(*(int *)puVar6 + iVar20) == '\0')" ( (binary_expression "*(char *)(*(int *)puVar6 + iVar20) == '\0'" (pointer_expression "*(char *)(*(int *)puVar6 + iVar20)" * (cast_expression "(char *)(*(int *)puVar6 + iVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar20)" ( (binary_expression "*(int *)puVar6 + iVar20" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0009fe78;" goto statement_identifier ;))) (if_statement "if (param_1 != 0) goto LAB_0009fab8;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009fab8;" goto statement_identifier ;)) (goto_statement "goto LAB_0009ff1c;" goto statement_identifier ;) })) (if_statement "if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }" if (parenthesized_expression "(bVar1 == 0x5c)" ( (binary_expression "bVar1 == 0x5c" identifier == number_literal) )) (compound_statement "{\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }" { (if_statement "if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }" if (parenthesized_expression "(*(int *)puVar3 < 2)" ( (binary_expression "*(int *)puVar3 < 2" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }" { (labeled_statement "LAB_0009ffc0:\n      iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }" else (compound_statement "{\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (if_statement "if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }" if (parenthesized_expression "(-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0)" ( (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0" (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3" number_literal < (binary_expression "*(int *)(PTR_is_basic_table_00144b04 + 8) << 3" (pointer_expression "*(int *)(PTR_is_basic_table_00144b04 + 8)" * (cast_expression "(int *)(PTR_is_basic_table_00144b04 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + 8)" ( (binary_expression "PTR_is_basic_table_00144b04 + 8" identifier + number_literal) )))) << number_literal)) && (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) )) (compound_statement "{\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }" { (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" identifier = identifier) ;) (expression_statement "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pbVar17,iVar10 - iVar20,&local_3c)" ( number_literal , identifier , (binary_expression "iVar10 - iVar20" identifier - identifier) , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }" if (parenthesized_expression "(iVar15 + 2U < 2)" ( (binary_expression "iVar15 + 2U < 2" (binary_expression "iVar15 + 2U" identifier + number_literal) < number_literal) )) (compound_statement "{\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }" { (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_0009fee8;" goto statement_identifier ;) })) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar15 == 0) goto LAB_0009ffc0;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009ffc0;" goto statement_identifier ;)) })) (expression_statement "iVar20 = iVar20 + iVar15;" (assignment_expression "iVar20 = iVar20 + iVar15" identifier = (binary_expression "iVar20 + iVar15" identifier + identifier)) ;) }))) (goto_statement "goto LAB_0009fee8;" goto statement_identifier ;) })) (if_statement "if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }" if (parenthesized_expression "(bVar1 == 0x22)" ( (binary_expression "bVar1 == 0x22" identifier == number_literal) )) (compound_statement "{\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }" { (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" identifier = (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar15,iVar20 + 1,puVar18,1)" ( identifier , (binary_expression "iVar20 + 1" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_0009fee8;" goto statement_identifier ;) })) (if_statement "if (*(int *)puVar3 < 2) goto LAB_0009fec4;" if (parenthesized_expression "(*(int *)puVar3 < 2)" ( (binary_expression "*(int *)puVar3 < 2" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (goto_statement "goto LAB_0009fec4;" goto statement_identifier ;)) (if_statement "if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }" if (parenthesized_expression "(((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0'))))" ( (binary_expression "((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))" (parenthesized_expression "((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" ( (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" * (cast_expression "(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" ( (binary_expression "PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4" identifier + (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 >> 5)" ( (binary_expression "bVar1 >> 5" identifier >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(bVar1 & 0x1f)" ( (binary_expression "bVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))" ( (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0'))" ( (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')" (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) || (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }" { (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" identifier = identifier) ;) (expression_statement "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pbVar17,iVar10 - iVar20,&local_3c)" ( number_literal , identifier , (binary_expression "iVar10 - iVar20" identifier - identifier) , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }" if (parenthesized_expression "(1 < iVar15 + 2U)" ( (binary_expression "1 < iVar15 + 2U" number_literal < (binary_expression "iVar15 + 2U" identifier + number_literal)) )) (compound_statement "{\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }" { (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar15 == 0) goto LAB_0009fec4;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fec4;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fe50;" goto statement_identifier ;) })) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) }) (else_clause "else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }" else (compound_statement "{\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0009fe50:\n    iVar20 = iVar20 + iVar15;" statement_identifier : (expression_statement "iVar20 = iVar20 + iVar15;" (assignment_expression "iVar20 = iVar20 + iVar15" identifier = (binary_expression "iVar20 + iVar15" identifier + identifier)) ;)) }))) (labeled_statement "LAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;" statement_identifier : (if_statement "if (iVar11 <= iVar20) goto LAB_0009fef4;" if (parenthesized_expression "(iVar11 <= iVar20)" ( (binary_expression "iVar11 <= iVar20" identifier <= identifier) )) (goto_statement "goto LAB_0009fef4;" goto statement_identifier ;))) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar17 = (byte *)(iVar15 + iVar20);" (assignment_expression "pbVar17 = (byte *)(iVar15 + iVar20)" identifier = (cast_expression "(byte *)(iVar15 + iVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;) (expression_statement "bVar1 = *pbVar17;" (assignment_expression "bVar1 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (if_statement "if (bVar1 == 0) goto LAB_0009fe78;" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fe78;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fdd8;" goto statement_identifier ;) (labeled_statement "LAB_0009fe78:\n  *(int *)puVar8 = iVar11;" statement_identifier : (expression_statement "*(int *)puVar8 = iVar11;" (assignment_expression "*(int *)puVar8 = iVar11" (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0009fbac;" goto statement_identifier ;) })))
(translation_unit "int bash_forward_shellword(int count,int key)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  anon_union_4_2_91654ee9_for___value aVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  byte *pbVar21;\n  undefined *puVar22;\n  mbstate_t state;\n  mbstate_t state_bak;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar22 = PTR_sh_syntaxtab_00144988;\n  state.__count = 0;\n  state.__value.__wch = 0;\n  iVar11 = *(int *)PTR___stack_chk_guard_001464dc;\n  if (count < 0) {\n    iVar20 = bash_backward_shellword(-count,key);\n  }\n  else {\n    pbVar21 = *(byte **)PTR_rl_point_0014555c;\n    pbVar12 = *(byte **)PTR_rl_end_00145558;\n    if (count == 0) {\nLAB_0009ff1c:\n      iVar20 = 0;\n      *(byte **)puVar8 = pbVar21;\n    }\n    else {\n      if (pbVar12 != pbVar21) {\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }\n      *(byte **)puVar8 = pbVar21;\n      iVar20 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (iVar11 == *(int *)puVar9) {\n    return iVar20;\n  }\n  puVar22 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar22 + 0xa456c) == 0) {\n    iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c));\n    return iVar11;\n  }\n  iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e28));\n  return iVar11;\nLAB_0009fdd8:\n  aVar10 = state.__value;\n  iVar16 = state.__count;\n  if ((*(uint *)(puVar22 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    key = (int)(pbVar21 + 1);\n    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar19,1);\n    pbVar17 = *(byte **)puVar7;\nLAB_0009fee8:\n    if ((int)pbVar21 < (int)pbVar17) {\nLAB_0009fec4:\n      pbVar21 = pbVar21 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((pbVar17 == pbVar21) || (pbVar21[*(int *)puVar6] == 0)) goto LAB_0009fe78;\n    if (iVar20 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      pbVar21 = pbVar21 + 1;\n    }\n    else {\n      iVar13 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n        if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }\n        pbVar17 = *(byte **)puVar7;\n        if (iVar13 == 0) goto LAB_0009ffc0;\n      }\n      pbVar21 = pbVar21 + iVar13;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    key = (int)(pbVar21 + 1);\n    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar18,1);\n    pbVar17 = *(byte **)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n    if (1 < iVar13 + 2U) {\n      pbVar17 = *(byte **)puVar7;\n      if (iVar13 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    pbVar21 = pbVar21 + 1;\n    pbVar17 = *(byte **)puVar7;\n    state.__count = iVar16;\n    state.__value = aVar10;\n  }\n  else {\n    iVar13 = 1;\nLAB_0009fe50:\n    pbVar21 = pbVar21 + iVar13;\n  }\nLAB_0009fe54:\n  if ((int)pbVar17 <= (int)pbVar21) goto LAB_0009fef4;\n  iVar13 = *(int *)puVar6;\n  key = (int)(pbVar21 + iVar13);\n  bVar1 = *(byte *)key;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(byte **)puVar8 = pbVar17;\n  iVar20 = 0;\n  goto LAB_0009fbac;\n}\n\n" (function_definition "int bash_forward_shellword(int count,int key)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  anon_union_4_2_91654ee9_for___value aVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  byte *pbVar21;\n  undefined *puVar22;\n  mbstate_t state;\n  mbstate_t state_bak;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar22 = PTR_sh_syntaxtab_00144988;\n  state.__count = 0;\n  state.__value.__wch = 0;\n  iVar11 = *(int *)PTR___stack_chk_guard_001464dc;\n  if (count < 0) {\n    iVar20 = bash_backward_shellword(-count,key);\n  }\n  else {\n    pbVar21 = *(byte **)PTR_rl_point_0014555c;\n    pbVar12 = *(byte **)PTR_rl_end_00145558;\n    if (count == 0) {\nLAB_0009ff1c:\n      iVar20 = 0;\n      *(byte **)puVar8 = pbVar21;\n    }\n    else {\n      if (pbVar12 != pbVar21) {\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }\n      *(byte **)puVar8 = pbVar21;\n      iVar20 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (iVar11 == *(int *)puVar9) {\n    return iVar20;\n  }\n  puVar22 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar22 + 0xa456c) == 0) {\n    iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c));\n    return iVar11;\n  }\n  iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e28));\n  return iVar11;\nLAB_0009fdd8:\n  aVar10 = state.__value;\n  iVar16 = state.__count;\n  if ((*(uint *)(puVar22 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    key = (int)(pbVar21 + 1);\n    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar19,1);\n    pbVar17 = *(byte **)puVar7;\nLAB_0009fee8:\n    if ((int)pbVar21 < (int)pbVar17) {\nLAB_0009fec4:\n      pbVar21 = pbVar21 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((pbVar17 == pbVar21) || (pbVar21[*(int *)puVar6] == 0)) goto LAB_0009fe78;\n    if (iVar20 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      pbVar21 = pbVar21 + 1;\n    }\n    else {\n      iVar13 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n        if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }\n        pbVar17 = *(byte **)puVar7;\n        if (iVar13 == 0) goto LAB_0009ffc0;\n      }\n      pbVar21 = pbVar21 + iVar13;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    key = (int)(pbVar21 + 1);\n    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar18,1);\n    pbVar17 = *(byte **)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n    if (1 < iVar13 + 2U) {\n      pbVar17 = *(byte **)puVar7;\n      if (iVar13 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    pbVar21 = pbVar21 + 1;\n    pbVar17 = *(byte **)puVar7;\n    state.__count = iVar16;\n    state.__value = aVar10;\n  }\n  else {\n    iVar13 = 1;\nLAB_0009fe50:\n    pbVar21 = pbVar21 + iVar13;\n  }\nLAB_0009fe54:\n  if ((int)pbVar17 <= (int)pbVar21) goto LAB_0009fef4;\n  iVar13 = *(int *)puVar6;\n  key = (int)(pbVar21 + iVar13);\n  bVar1 = *(byte *)key;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(byte **)puVar8 = pbVar17;\n  iVar20 = 0;\n  goto LAB_0009fbac;\n}" primitive_type (function_declarator "bash_forward_shellword(int count,int key)" identifier (parameter_list "(int count,int key)" ( (parameter_declaration "int count" primitive_type identifier) , (parameter_declaration "int key" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  anon_union_4_2_91654ee9_for___value aVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  byte *pbVar21;\n  undefined *puVar22;\n  mbstate_t state;\n  mbstate_t state_bak;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar22 = PTR_sh_syntaxtab_00144988;\n  state.__count = 0;\n  state.__value.__wch = 0;\n  iVar11 = *(int *)PTR___stack_chk_guard_001464dc;\n  if (count < 0) {\n    iVar20 = bash_backward_shellword(-count,key);\n  }\n  else {\n    pbVar21 = *(byte **)PTR_rl_point_0014555c;\n    pbVar12 = *(byte **)PTR_rl_end_00145558;\n    if (count == 0) {\nLAB_0009ff1c:\n      iVar20 = 0;\n      *(byte **)puVar8 = pbVar21;\n    }\n    else {\n      if (pbVar12 != pbVar21) {\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }\n      *(byte **)puVar8 = pbVar21;\n      iVar20 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (iVar11 == *(int *)puVar9) {\n    return iVar20;\n  }\n  puVar22 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar22 + 0xa456c) == 0) {\n    iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c));\n    return iVar11;\n  }\n  iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e28));\n  return iVar11;\nLAB_0009fdd8:\n  aVar10 = state.__value;\n  iVar16 = state.__count;\n  if ((*(uint *)(puVar22 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    key = (int)(pbVar21 + 1);\n    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar19,1);\n    pbVar17 = *(byte **)puVar7;\nLAB_0009fee8:\n    if ((int)pbVar21 < (int)pbVar17) {\nLAB_0009fec4:\n      pbVar21 = pbVar21 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((pbVar17 == pbVar21) || (pbVar21[*(int *)puVar6] == 0)) goto LAB_0009fe78;\n    if (iVar20 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      pbVar21 = pbVar21 + 1;\n    }\n    else {\n      iVar13 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n        if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }\n        pbVar17 = *(byte **)puVar7;\n        if (iVar13 == 0) goto LAB_0009ffc0;\n      }\n      pbVar21 = pbVar21 + iVar13;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    key = (int)(pbVar21 + 1);\n    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar18,1);\n    pbVar17 = *(byte **)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n    if (1 < iVar13 + 2U) {\n      pbVar17 = *(byte **)puVar7;\n      if (iVar13 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    pbVar21 = pbVar21 + 1;\n    pbVar17 = *(byte **)puVar7;\n    state.__count = iVar16;\n    state.__value = aVar10;\n  }\n  else {\n    iVar13 = 1;\nLAB_0009fe50:\n    pbVar21 = pbVar21 + iVar13;\n  }\nLAB_0009fe54:\n  if ((int)pbVar17 <= (int)pbVar21) goto LAB_0009fef4;\n  iVar13 = *(int *)puVar6;\n  key = (int)(pbVar21 + iVar13);\n  bVar1 = *(byte *)key;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(byte **)puVar8 = pbVar17;\n  iVar20 = 0;\n  goto LAB_0009fbac;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "anon_union_4_2_91654ee9_for___value aVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "mbstate_t state;" type_identifier identifier ;) (declaration "mbstate_t state_bak;" type_identifier identifier ;) (expression_statement "puVar9 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar9 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar8 = PTR_rl_point_0014555c;" (assignment_expression "puVar8 = PTR_rl_point_0014555c" identifier = identifier) ;) (expression_statement "puVar7 = PTR_rl_end_00145558;" (assignment_expression "puVar7 = PTR_rl_end_00145558" identifier = identifier) ;) (expression_statement "puVar6 = PTR_rl_line_buffer_00145548;" (assignment_expression "puVar6 = PTR_rl_line_buffer_00145548" identifier = identifier) ;) (expression_statement "puVar22 = PTR_sh_syntaxtab_00144988;" (assignment_expression "puVar22 = PTR_sh_syntaxtab_00144988" identifier = identifier) ;) (expression_statement "state.__count = 0;" (assignment_expression "state.__count = 0" (field_expression "state.__count" identifier . field_identifier) = number_literal) ;) (expression_statement "state.__value.__wch = 0;" (assignment_expression "state.__value.__wch = 0" (field_expression "state.__value.__wch" (field_expression "state.__value" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iVar11 = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "iVar11 = *(int *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" * (cast_expression "(int *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (count < 0) {\n    iVar20 = bash_backward_shellword(-count,key);\n  }\n  else {\n    pbVar21 = *(byte **)PTR_rl_point_0014555c;\n    pbVar12 = *(byte **)PTR_rl_end_00145558;\n    if (count == 0) {\nLAB_0009ff1c:\n      iVar20 = 0;\n      *(byte **)puVar8 = pbVar21;\n    }\n    else {\n      if (pbVar12 != pbVar21) {\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }\n      *(byte **)puVar8 = pbVar21;\n      iVar20 = 0;\n    }\n  }" if (parenthesized_expression "(count < 0)" ( (binary_expression "count < 0" identifier < number_literal) )) (compound_statement "{\n    iVar20 = bash_backward_shellword(-count,key);\n  }" { (expression_statement "iVar20 = bash_backward_shellword(-count,key);" (assignment_expression "iVar20 = bash_backward_shellword(-count,key)" identifier = (call_expression "bash_backward_shellword(-count,key)" identifier (argument_list "(-count,key)" ( (unary_expression "-count" - identifier) , identifier )))) ;) }) (else_clause "else {\n    pbVar21 = *(byte **)PTR_rl_point_0014555c;\n    pbVar12 = *(byte **)PTR_rl_end_00145558;\n    if (count == 0) {\nLAB_0009ff1c:\n      iVar20 = 0;\n      *(byte **)puVar8 = pbVar21;\n    }\n    else {\n      if (pbVar12 != pbVar21) {\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }\n      *(byte **)puVar8 = pbVar21;\n      iVar20 = 0;\n    }\n  }" else (compound_statement "{\n    pbVar21 = *(byte **)PTR_rl_point_0014555c;\n    pbVar12 = *(byte **)PTR_rl_end_00145558;\n    if (count == 0) {\nLAB_0009ff1c:\n      iVar20 = 0;\n      *(byte **)puVar8 = pbVar21;\n    }\n    else {\n      if (pbVar12 != pbVar21) {\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }\n      *(byte **)puVar8 = pbVar21;\n      iVar20 = 0;\n    }\n  }" { (expression_statement "pbVar21 = *(byte **)PTR_rl_point_0014555c;" (assignment_expression "pbVar21 = *(byte **)PTR_rl_point_0014555c" identifier = (pointer_expression "*(byte **)PTR_rl_point_0014555c" * (cast_expression "(byte **)PTR_rl_point_0014555c" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar12 = *(byte **)PTR_rl_end_00145558;" (assignment_expression "pbVar12 = *(byte **)PTR_rl_end_00145558" identifier = (pointer_expression "*(byte **)PTR_rl_end_00145558" * (cast_expression "(byte **)PTR_rl_end_00145558" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (count == 0) {\nLAB_0009ff1c:\n      iVar20 = 0;\n      *(byte **)puVar8 = pbVar21;\n    }\n    else {\n      if (pbVar12 != pbVar21) {\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }\n      *(byte **)puVar8 = pbVar21;\n      iVar20 = 0;\n    }" if (parenthesized_expression "(count == 0)" ( (binary_expression "count == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0009ff1c:\n      iVar20 = 0;\n      *(byte **)puVar8 = pbVar21;\n    }" { (labeled_statement "LAB_0009ff1c:\n      iVar20 = 0;" statement_identifier : (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;)) (expression_statement "*(byte **)puVar8 = pbVar21;" (assignment_expression "*(byte **)puVar8 = pbVar21" (pointer_expression "*(byte **)puVar8" * (cast_expression "(byte **)puVar8" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }) (else_clause "else {\n      if (pbVar12 != pbVar21) {\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }\n      *(byte **)puVar8 = pbVar21;\n      iVar20 = 0;\n    }" else (compound_statement "{\n      if (pbVar12 != pbVar21) {\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }\n      *(byte **)puVar8 = pbVar21;\n      iVar20 = 0;\n    }" { (if_statement "if (pbVar12 != pbVar21) {\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }" if (parenthesized_expression "(pbVar12 != pbVar21)" ( (binary_expression "pbVar12 != pbVar21" identifier != identifier) )) (compound_statement "{\n        iVar20 = count + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);\n      }" { (expression_statement "iVar20 = count + -1;" (assignment_expression "iVar20 = count + -1" identifier = (binary_expression "count + -1" identifier + number_literal)) ;) (expression_statement "puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;" (assignment_expression "puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0" identifier = (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0" identifier + number_literal)) ;) (expression_statement "puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;" (assignment_expression "puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0" identifier = (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0" identifier + number_literal)) ;) (do_statement "do {\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        } while (*(byte **)puVar7 != pbVar21);" do (compound_statement "{\n          iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar16 = *(int *)puVar6;\n          key = (int)(pbVar21 + iVar16);\n          if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }\nLAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          iVar20 = iVar20 + -1;\n        }" { (expression_statement "iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21);" (assignment_expression "iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21)" identifier = (call_expression "(*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,pbVar21)" (parenthesized_expression "(*(code *)PTR_char_is_quoted_00145630)" ( (pointer_expression "*(code *)PTR_char_is_quoted_00145630" * (cast_expression "(code *)PTR_char_is_quoted_00145630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar6,pbVar21)" ( (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier )))) ;) (expression_statement "puVar5 = PTR_is_basic_table_00144b04;" (assignment_expression "puVar5 = PTR_is_basic_table_00144b04" identifier = identifier) ;) (expression_statement "puVar4 = PTR_locale_mb_cur_max_00144b00;" (assignment_expression "puVar4 = PTR_locale_mb_cur_max_00144b00" identifier = identifier) ;) (expression_statement "puVar3 = PTR_locale_utf8locale_00144afc;" (assignment_expression "puVar3 = PTR_locale_utf8locale_00144afc" identifier = identifier) ;) (expression_statement "iVar16 = *(int *)puVar6;" (assignment_expression "iVar16 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "key = (int)(pbVar21 + iVar16);" (assignment_expression "key = (int)(pbVar21 + iVar16)" identifier = (cast_expression "(int)(pbVar21 + iVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar21 + iVar16)" ( (binary_expression "pbVar21 + iVar16" identifier + identifier) )))) ;) (if_statement "if (((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)) {\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }" if (parenthesized_expression "(((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c))" ( (binary_expression "((iVar13 == 0) || ((int)pbVar21 < 1)) || (*(byte *)(key + -1) == 0x5c)" (parenthesized_expression "((iVar13 == 0) || ((int)pbVar21 < 1))" ( (binary_expression "(iVar13 == 0) || ((int)pbVar21 < 1)" (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "((int)pbVar21 < 1)" ( (binary_expression "(int)pbVar21 < 1" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) || (parenthesized_expression "(*(byte *)(key + -1) == 0x5c)" ( (binary_expression "*(byte *)(key + -1) == 0x5c" (pointer_expression "*(byte *)(key + -1)" * (cast_expression "(byte *)(key + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(key + -1)" ( (binary_expression "key + -1" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n            pbVar17 = *(byte **)puVar7;\n            uVar14 = (uint)(char)*(byte *)key;\n            if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }\n            if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }\n          }" { (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar14 = (uint)(char)*(byte *)key;" (assignment_expression "uVar14 = (uint)(char)*(byte *)key" identifier = (binary_expression "(uint)(char)*(byte *)key" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(byte *)key" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((int)pbVar21 < (int)pbVar17) {\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }" if (parenthesized_expression "((int)pbVar21 < (int)pbVar17)" ( (binary_expression "(int)pbVar21 < (int)pbVar17" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);\n            }" { (do_statement "do {\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              } while (bVar2);" do (compound_statement "{\n                aVar10 = state.__value;\n                iVar13 = state.__count;\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar14 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }\n                uVar14 = (uint)(char)*(byte *)key;\n              }" { (expression_statement "aVar10 = state.__value;" (assignment_expression "aVar10 = state.__value" identifier = (field_expression "state.__value" identifier . field_identifier)) ;) (expression_statement "iVar13 = state.__count;" (assignment_expression "iVar13 = state.__count" identifier = (field_expression "state.__count" identifier . field_identifier)) ;) (expression_statement "puVar3 = PTR_locale_mb_cur_max_00144b00;" (assignment_expression "puVar3 = PTR_locale_mb_cur_max_00144b00" identifier = identifier) ;) (if_statement "if (uVar14 == 0) goto LAB_0009fb98;" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fb98;" goto statement_identifier ;)) (if_statement "if ((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }" if (parenthesized_expression "((*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0)" ( (binary_expression "(*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001) == 0" (parenthesized_expression "(*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001)" ( (binary_expression "*(uint *)(puVar22 + (uVar14 & 0xff) * 4) & 0x2001" (pointer_expression "*(uint *)(puVar22 + (uVar14 & 0xff) * 4)" * (cast_expression "(uint *)(puVar22 + (uVar14 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + (uVar14 & 0xff) * 4)" ( (binary_expression "puVar22 + (uVar14 & 0xff) * 4" identifier + (binary_expression "(uVar14 & 0xff) * 4" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  iVar13 = *(int *)puVar6;\n                  key = (int)(pbVar21 + iVar13);\n                  bVar1 = *(byte *)key;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }" { (expression_statement "iVar13 = *(int *)puVar6;" (assignment_expression "iVar13 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "key = (int)(pbVar21 + iVar13);" (assignment_expression "key = (int)(pbVar21 + iVar13)" identifier = (cast_expression "(int)(pbVar21 + iVar13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar21 + iVar13)" ( (binary_expression "pbVar21 + iVar13" identifier + identifier) )))) ;) (expression_statement "bVar1 = *(byte *)key;" (assignment_expression "bVar1 = *(byte *)key" identifier = (pointer_expression "*(byte *)key" * (cast_expression "(byte *)key" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (bVar1 != 0) goto LAB_0009fdd8;" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009fdd8;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fe78;" goto statement_identifier ;) })) (if_statement "if (uVar14 == 0x27) {\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }\n                else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }" if (parenthesized_expression "(uVar14 == 0x27)" ( (binary_expression "uVar14 == 0x27" identifier == number_literal) )) (compound_statement "{\n                  pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                }" { (expression_statement "pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1);" (assignment_expression "pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1)" identifier = (cast_expression "(byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_skip_to_delim_00144b10)\n                                              (iVar16,pbVar21 + 1,puVar19,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16,pbVar21 + 1,puVar19,1)" ( identifier , (binary_expression "pbVar21 + 1" identifier + number_literal) , identifier , number_literal ))))) ;) (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar16 = *(int *)puVar6;" (assignment_expression "iVar16 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_0009fc74:\n                  bVar2 = (int)pbVar21 < (int)pbVar17;" statement_identifier : (expression_statement "bVar2 = (int)pbVar21 < (int)pbVar17;" (assignment_expression "bVar2 = (int)pbVar21 < (int)pbVar17" identifier = (binary_expression "(int)pbVar21 < (int)pbVar17" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (if_statement "if (bVar2) {\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }\n                  else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\nLAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);\n                  }" { (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = (int)pbVar21 < (int)pbVar17;" (assignment_expression "bVar2 = (int)pbVar21 < (int)pbVar17" identifier = (binary_expression "(int)pbVar21 < (int)pbVar17" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (labeled_statement "LAB_0009fc38:\n                    key = (int)(pbVar21 + iVar16);" statement_identifier : (expression_statement "key = (int)(pbVar21 + iVar16);" (assignment_expression "key = (int)(pbVar21 + iVar16)" identifier = (cast_expression "(int)(pbVar21 + iVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar21 + iVar16)" ( (binary_expression "pbVar21 + iVar16" identifier + identifier) )))) ;)) }) (else_clause "else {\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }" else (compound_statement "{\nLAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);\n                  }" { (labeled_statement "LAB_0009fb78:\n                    key = (int)(pbVar21 + iVar16);" statement_identifier : (expression_statement "key = (int)(pbVar21 + iVar16);" (assignment_expression "key = (int)(pbVar21 + iVar16)" identifier = (cast_expression "(int)(pbVar21 + iVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar21 + iVar16)" ( (binary_expression "pbVar21 + iVar16" identifier + identifier) )))) ;)) }))) }) (else_clause "else {\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }" else (compound_statement "{\n                  if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }\n                  iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;\n                  if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  pbVar21 = pbVar21 + 1;\n                  pbVar17 = *(byte **)puVar7;\n                  iVar16 = *(int *)puVar6;\n                  bVar2 = (int)pbVar21 < (int)pbVar17;\n                  key = (int)(pbVar21 + iVar16);\n                  state.__count = iVar13;\n                  state.__value = aVar10;\n                }" { (if_statement "if (uVar14 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }" if (parenthesized_expression "(uVar14 == 0x5c)" ( (binary_expression "uVar14 == 0x5c" identifier == number_literal) )) (compound_statement "{\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }\n                    goto LAB_0009fc74;\n                  }" { (if_statement "if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }\n                    else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }" if (parenthesized_expression "(*(int *)PTR_locale_mb_cur_max_00144b00 < 2)" ( (binary_expression "*(int *)PTR_locale_mb_cur_max_00144b00 < 2" (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" * (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;\n                    }" { (labeled_statement "LAB_0009fd20:\n                      pbVar21 = pbVar21 + 1;" statement_identifier : (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }" else (compound_statement "{\n                      iVar15 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }\n                      pbVar21 = pbVar21 + iVar15;\n                    }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (if_statement "if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }" if (parenthesized_expression "(-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0)" ( (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0" (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3" number_literal < (binary_expression "*(int *)(PTR_is_basic_table_00144b04 + 8) << 3" (pointer_expression "*(int *)(PTR_is_basic_table_00144b04 + 8)" * (cast_expression "(int *)(PTR_is_basic_table_00144b04 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + 8)" ( (binary_expression "PTR_is_basic_table_00144b04 + 8" identifier + number_literal) )))) << number_literal)) && (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) )) (compound_statement "{\n                        iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);\n                        if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }\n                        pbVar17 = *(byte **)puVar7;\n                        iVar16 = *(int *)puVar6;\n                        if (iVar15 == 0) goto LAB_0009fd20;\n                      }" { (expression_statement "iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state);" (assignment_expression "iVar15 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)\n                                           (0,key,(int)pbVar12 - (int)pbVar21,&state)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,key,(int)pbVar12 - (int)pbVar21,&state)" ( number_literal , identifier , (binary_expression "(int)pbVar12 - (int)pbVar21" (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "&state" & identifier) )))) ;) (if_statement "if (iVar15 + 2U < 2) {\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }" if (parenthesized_expression "(iVar15 + 2U < 2)" ( (binary_expression "iVar15 + 2U < 2" (binary_expression "iVar15 + 2U" identifier + number_literal) < number_literal) )) (compound_statement "{\n                          pbVar21 = pbVar21 + 1;\n                          pbVar17 = *(byte **)puVar7;\n                          iVar16 = *(int *)puVar6;\n                          state.__count = iVar13;\n                          state.__value = aVar10;\n                          goto LAB_0009fc74;\n                        }" { (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar16 = *(int *)puVar6;" (assignment_expression "iVar16 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "state.__count = iVar13;" (assignment_expression "state.__count = iVar13" (field_expression "state.__count" identifier . field_identifier) = identifier) ;) (expression_statement "state.__value = aVar10;" (assignment_expression "state.__value = aVar10" (field_expression "state.__value" identifier . field_identifier) = identifier) ;) (goto_statement "goto LAB_0009fc74;" goto statement_identifier ;) })) (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar16 = *(int *)puVar6;" (assignment_expression "iVar16 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar15 == 0) goto LAB_0009fd20;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fd20;" goto statement_identifier ;)) })) (expression_statement "pbVar21 = pbVar21 + iVar15;" (assignment_expression "pbVar21 = pbVar21 + iVar15" identifier = (binary_expression "pbVar21 + iVar15" identifier + identifier)) ;) }))) (goto_statement "goto LAB_0009fc74;" goto statement_identifier ;) })) (if_statement "if (uVar14 == 0x22) {\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }" if (parenthesized_expression "(uVar14 == 0x22)" ( (binary_expression "uVar14 == 0x22" identifier == number_literal) )) (compound_statement "{\n                    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }" { (expression_statement "pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1);" (assignment_expression "pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1)" identifier = (cast_expression "(byte *)(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_skip_to_delim_00144b10)\n                                                (iVar16,pbVar21 + 1,puVar18,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16,pbVar21 + 1,puVar18,1)" ( identifier , (binary_expression "pbVar21 + 1" identifier + number_literal) , identifier , number_literal ))))) ;) (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar16 = *(int *)puVar6;" (assignment_expression "iVar16 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_0009fc74;" goto statement_identifier ;) })) (if_statement "if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }" if (parenthesized_expression "(*(int *)PTR_locale_mb_cur_max_00144b00 < 2)" ( (binary_expression "*(int *)PTR_locale_mb_cur_max_00144b00 < 2" (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" * (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fc38;\n                  }" { (labeled_statement "LAB_0009fc30:\n                    pbVar21 = pbVar21 + 1;" statement_identifier : (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;)) (expression_statement "bVar2 = (int)pbVar21 < (int)pbVar17;" (assignment_expression "bVar2 = (int)pbVar21 < (int)pbVar17" identifier = (binary_expression "(int)pbVar21 < (int)pbVar17" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_0009fc38;" goto statement_identifier ;) })) (if_statement "if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))) {\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }" if (parenthesized_expression "(((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14))))" ( (binary_expression "((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))" (parenthesized_expression "((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0)" ( (binary_expression "(*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1)" ( (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f) & 1" (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4) >>\n                        (uVar14 & 0x1f)" (pointer_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4)" * (cast_expression "(uint *)(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4)" ( (binary_expression "PTR_is_basic_table_00144b04 + ((uVar14 & 0xff) >> 5) * 4" identifier + (binary_expression "((uVar14 & 0xff) >> 5) * 4" (parenthesized_expression "((uVar14 & 0xff) >> 5)" ( (binary_expression "(uVar14 & 0xff) >> 5" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) >> number_literal) )) * number_literal)) )))) >> (parenthesized_expression "(uVar14 & 0x1f)" ( (binary_expression "uVar14 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)))" ( (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14))" ( (binary_expression "*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar14)" (binary_expression "*(int *)PTR_locale_utf8locale_00144afc != 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) && (parenthesized_expression "(-1 < (int)uVar14)" ( (binary_expression "-1 < (int)uVar14" number_literal < (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n                    iVar15 = 1;\nLAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;\n                    bVar2 = (int)pbVar21 < (int)pbVar17;\n                    goto LAB_0009fb78;\n                  }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0009fb70:\n                    pbVar21 = pbVar21 + iVar15;" statement_identifier : (expression_statement "pbVar21 = pbVar21 + iVar15;" (assignment_expression "pbVar21 = pbVar21 + iVar15" identifier = (binary_expression "pbVar21 + iVar15" identifier + identifier)) ;)) (expression_statement "bVar2 = (int)pbVar21 < (int)pbVar17;" (assignment_expression "bVar2 = (int)pbVar21 < (int)pbVar17" identifier = (binary_expression "(int)pbVar21 < (int)pbVar17" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_0009fb78;" goto statement_identifier ;) })) (expression_statement "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)\n                  ;" (assignment_expression "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,key,(int)pbVar12 - (int)pbVar21,&state)" ( number_literal , identifier , (binary_expression "(int)pbVar12 - (int)pbVar21" (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "&state" & identifier) )))) ;) (if_statement "if (1 < iVar15 + 2U) {\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }" if (parenthesized_expression "(1 < iVar15 + 2U)" ( (binary_expression "1 < iVar15 + 2U" number_literal < (binary_expression "iVar15 + 2U" identifier + number_literal)) )) (compound_statement "{\n                    pbVar17 = *(byte **)puVar7;\n                    iVar16 = *(int *)puVar6;\n                    if (iVar15 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }" { (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar16 = *(int *)puVar6;" (assignment_expression "iVar16 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar15 == 0) goto LAB_0009fc30;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fc30;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fb70;" goto statement_identifier ;) })) (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar16 = *(int *)puVar6;" (assignment_expression "iVar16 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "bVar2 = (int)pbVar21 < (int)pbVar17;" (assignment_expression "bVar2 = (int)pbVar21 < (int)pbVar17" identifier = (binary_expression "(int)pbVar21 < (int)pbVar17" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "key = (int)(pbVar21 + iVar16);" (assignment_expression "key = (int)(pbVar21 + iVar16)" identifier = (cast_expression "(int)(pbVar21 + iVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar21 + iVar16)" ( (binary_expression "pbVar21 + iVar16" identifier + identifier) )))) ;) (expression_statement "state.__count = iVar13;" (assignment_expression "state.__count = iVar13" (field_expression "state.__count" identifier . field_identifier) = identifier) ;) (expression_statement "state.__value = aVar10;" (assignment_expression "state.__value = aVar10" (field_expression "state.__value" identifier . field_identifier) = identifier) ;) }))) (expression_statement "uVar14 = (uint)(char)*(byte *)key;" (assignment_expression "uVar14 = (uint)(char)*(byte *)key" identifier = (binary_expression "(uint)(char)*(byte *)key" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(byte *)key" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) while (parenthesized_expression "(bVar2)" ( identifier )) ;) })) (if_statement "if ((uVar14 == 0) || (pbVar21 == pbVar17)) {\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }" if (parenthesized_expression "((uVar14 == 0) || (pbVar21 == pbVar17))" ( (binary_expression "(uVar14 == 0) || (pbVar21 == pbVar17)" (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) || (parenthesized_expression "(pbVar21 == pbVar17)" ( (binary_expression "pbVar21 == pbVar17" identifier == identifier) ))) )) (compound_statement "{\nLAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;\n              *(byte **)puVar8 = pbVar17;\n              (*(code *)puVar22)();\n              iVar20 = 0;\n              goto LAB_0009fbac;\n            }" { (labeled_statement "LAB_0009fb98:\n              puVar22 = PTR_rl_ding_00145634;" statement_identifier : (expression_statement "puVar22 = PTR_rl_ding_00145634;" (assignment_expression "puVar22 = PTR_rl_ding_00145634" identifier = identifier) ;)) (expression_statement "*(byte **)puVar8 = pbVar17;" (assignment_expression "*(byte **)puVar8 = pbVar17" (pointer_expression "*(byte **)puVar8" * (cast_expression "(byte **)puVar8" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "(*(code *)puVar22)();" (call_expression "(*(code *)puVar22)()" (parenthesized_expression "(*(code *)puVar22)" ( (pointer_expression "*(code *)puVar22" * (cast_expression "(code *)puVar22" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0009fbac;" goto statement_identifier ;) })) }) (else_clause "else {\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }" else (compound_statement "{\n            do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));\n          }" { (do_statement "do {\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            } while (((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0));" do (compound_statement "{\n              aVar10 = state.__value;\n              iVar13 = state.__count;\n              if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }\nLAB_0009fa8c:\n            }" { (expression_statement "aVar10 = state.__value;" (assignment_expression "aVar10 = state.__value" identifier = (field_expression "state.__value" identifier . field_identifier)) ;) (expression_statement "iVar13 = state.__count;" (assignment_expression "iVar13 = state.__count" identifier = (field_expression "state.__count" identifier . field_identifier)) ;) (if_statement "if (*(int *)puVar4 < 2) {\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }\n              else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }" if (parenthesized_expression "(*(int *)puVar4 < 2)" ( (binary_expression "*(int *)puVar4 < 2" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nFUN_0009fa88:\n                pbVar21 = pbVar21 + 1;\n              }" { (labeled_statement "FUN_0009fa88:\n                pbVar21 = pbVar21 + 1;" statement_identifier : (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }" else (compound_statement "{\n                key = (int)(pbVar21 + *(int *)puVar6);\n                bVar1 = *(byte *)key;\n                uVar14 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }\n                pbVar21 = pbVar21 + uVar14;\n              }" { (expression_statement "key = (int)(pbVar21 + *(int *)puVar6);" (assignment_expression "key = (int)(pbVar21 + *(int *)puVar6)" identifier = (cast_expression "(int)(pbVar21 + *(int *)puVar6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar21 + *(int *)puVar6)" ( (binary_expression "pbVar21 + *(int *)puVar6" identifier + (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) (expression_statement "bVar1 = *(byte *)key;" (assignment_expression "bVar1 = *(byte *)key" identifier = (pointer_expression "*(byte *)key" * (cast_expression "(byte *)key" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (if_statement "if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }" if (parenthesized_expression "((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" ( (binary_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4)" * (cast_expression "(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + (uint)(bVar1 >> 5) * 4)" ( (binary_expression "puVar5 + (uint)(bVar1 >> 5) * 4" identifier + (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 >> 5)" ( (binary_expression "bVar1 >> 5" identifier >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(bVar1 & 0x1f)" ( (binary_expression "bVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }\n                  if (uVar14 == 0) goto FUN_0009fa88;\n                }" { (if_statement "if (((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)) {\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }" if (parenthesized_expression "(((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2))" ( (binary_expression "((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))\n                     && (uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)" (parenthesized_expression "((*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))" ( (binary_expression "(*(int *)puVar3 == 0) || (uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0')" (parenthesized_expression "(*(int *)puVar3 == 0)" ( (binary_expression "*(int *)puVar3 == 0" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0')" ( (comma_expression "uVar14 = (uint)(bVar1 != 0), (char)bVar1 < '\0'" (assignment_expression "uVar14 = (uint)(bVar1 != 0)" identifier = (call_expression "(uint)(bVar1 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )))) , (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "(uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2)" ( (comma_expression "uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state),\n                        uVar14 + 2 < 2" (assignment_expression "uVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)\n                                            (0,key,(int)pbVar12 - (int)pbVar21,&state)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,key,(int)pbVar12 - (int)pbVar21,&state)" ( number_literal , identifier , (binary_expression "(int)pbVar12 - (int)pbVar21" (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "&state" & identifier) )))) , (binary_expression "uVar14 + 2 < 2" (binary_expression "uVar14 + 2" identifier + number_literal) < number_literal)) ))) )) (compound_statement "{\n                    pbVar21 = pbVar21 + 1;\n                    state.__count = iVar13;\n                    state.__value = aVar10;\n                    goto LAB_0009fa8c;\n                  }" { (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) (expression_statement "state.__count = iVar13;" (assignment_expression "state.__count = iVar13" (field_expression "state.__count" identifier . field_identifier) = identifier) ;) (expression_statement "state.__value = aVar10;" (assignment_expression "state.__value = aVar10" (field_expression "state.__value" identifier . field_identifier) = identifier) ;) (goto_statement "goto LAB_0009fa8c;" goto statement_identifier ;) })) (if_statement "if (uVar14 == 0) goto FUN_0009fa88;" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (goto_statement "goto FUN_0009fa88;" goto statement_identifier ;)) })) (expression_statement "pbVar21 = pbVar21 + uVar14;" (assignment_expression "pbVar21 = pbVar21 + uVar14" identifier = (binary_expression "pbVar21 + uVar14" identifier + identifier)) ;) }))) (labeled_statement "LAB_0009fa8c:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0))" ( (binary_expression "((int)pbVar21 < *(int *)puVar7) &&\n                    (key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0)" (parenthesized_expression "((int)pbVar21 < *(int *)puVar7)" ( (binary_expression "(int)pbVar21 < *(int *)puVar7" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0)" ( (comma_expression "key = (int)pbVar21,\n                    iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0" (assignment_expression "key = (int)pbVar21" identifier = (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier)) , (comma_expression "iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6),\n                    iVar13 != 0" (assignment_expression "iVar13 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6)" identifier = (call_expression "(*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6)" (parenthesized_expression "(*(code *)PTR_char_is_quoted_00145630)" ( (pointer_expression "*(code *)PTR_char_is_quoted_00145630" * (cast_expression "(code *)PTR_char_is_quoted_00145630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar6)" ( (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) , (binary_expression "iVar13 != 0" identifier != number_literal))) ))) )) ;) }))) (labeled_statement "LAB_0009fab0:\n          if (iVar20 == 0) goto LAB_0009ff1c;" statement_identifier : (if_statement "if (iVar20 == 0) goto LAB_0009ff1c;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009ff1c;" goto statement_identifier ;))) (labeled_statement "LAB_0009fab8:\n          iVar20 = iVar20 + -1;" statement_identifier : (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(*(byte **)puVar7 != pbVar21)" ( (binary_expression "*(byte **)puVar7 != pbVar21" (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) )) ;) })) (expression_statement "*(byte **)puVar8 = pbVar21;" (assignment_expression "*(byte **)puVar8 = pbVar21" (pointer_expression "*(byte **)puVar8" * (cast_expression "(byte **)puVar8" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_0009fbac:\n  if (iVar11 == *(int *)puVar9) {\n    return iVar20;\n  }" statement_identifier : (if_statement "if (iVar11 == *(int *)puVar9) {\n    return iVar20;\n  }" if (parenthesized_expression "(iVar11 == *(int *)puVar9)" ( (binary_expression "iVar11 == *(int *)puVar9" identifier == (pointer_expression "*(int *)puVar9" * (cast_expression "(int *)puVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar20;\n  }" { (return_statement "return iVar20;" return identifier ;) }))) (expression_statement "puVar22 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar22 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (**(int **)(puVar22 + 0xa456c) == 0) {\n    iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c));\n    return iVar11;\n  }" if (parenthesized_expression "(**(int **)(puVar22 + 0xa456c) == 0)" ( (binary_expression "**(int **)(puVar22 + 0xa456c) == 0" (pointer_expression "**(int **)(puVar22 + 0xa456c)" * (pointer_expression "*(int **)(puVar22 + 0xa456c)" * (cast_expression "(int **)(puVar22 + 0xa456c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0xa456c)" ( (binary_expression "puVar22 + 0xa456c" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n    iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c));\n    return iVar11;\n  }" { (expression_statement "iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c));" (assignment_expression "iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c))" identifier = (call_expression "edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c))" identifier (argument_list "(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c))" ( identifier , identifier , number_literal , (cast_expression "(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e1c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar22 + 0xa4a74) + -0x6e1c)" ( (binary_expression "*(int *)(puVar22 + 0xa4a74) + -0x6e1c" (pointer_expression "*(int *)(puVar22 + 0xa4a74)" * (cast_expression "(int *)(puVar22 + 0xa4a74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xa4a74)" ( (binary_expression "puVar22 + 0xa4a74" identifier + number_literal) )))) + number_literal) ))) )))) ;) (return_statement "return iVar11;" return identifier ;) })) (expression_statement "iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e28));" (assignment_expression "iVar11 = edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e28))" identifier = (call_expression "edit_and_execute_command(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e28))" identifier (argument_list "(iVar11,key,0,(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e28))" ( identifier , identifier , number_literal , (cast_expression "(char *)(*(int *)(puVar22 + 0xa4a74) + -0x6e28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar22 + 0xa4a74) + -0x6e28)" ( (binary_expression "*(int *)(puVar22 + 0xa4a74) + -0x6e28" (pointer_expression "*(int *)(puVar22 + 0xa4a74)" * (cast_expression "(int *)(puVar22 + 0xa4a74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xa4a74)" ( (binary_expression "puVar22 + 0xa4a74" identifier + number_literal) )))) + number_literal) ))) )))) ;) (return_statement "return iVar11;" return identifier ;) (labeled_statement "LAB_0009fdd8:\n  aVar10 = state.__value;" statement_identifier : (expression_statement "aVar10 = state.__value;" (assignment_expression "aVar10 = state.__value" identifier = (field_expression "state.__value" identifier . field_identifier)) ;)) (expression_statement "iVar16 = state.__count;" (assignment_expression "iVar16 = state.__count" identifier = (field_expression "state.__count" identifier . field_identifier)) ;) (if_statement "if ((*(uint *)(puVar22 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;" if (parenthesized_expression "((*(uint *)(puVar22 + (uint)bVar1 * 4) & 0x2001) != 0)" ( (binary_expression "(*(uint *)(puVar22 + (uint)bVar1 * 4) & 0x2001) != 0" (parenthesized_expression "(*(uint *)(puVar22 + (uint)bVar1 * 4) & 0x2001)" ( (binary_expression "*(uint *)(puVar22 + (uint)bVar1 * 4) & 0x2001" (pointer_expression "*(uint *)(puVar22 + (uint)bVar1 * 4)" * (cast_expression "(uint *)(puVar22 + (uint)bVar1 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + (uint)bVar1 * 4)" ( (binary_expression "puVar22 + (uint)bVar1 * 4" identifier + (binary_expression "(uint)bVar1 * 4" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009fab0;" goto statement_identifier ;)) (if_statement "if (bVar1 == 0x27) {\n    key = (int)(pbVar21 + 1);\n    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar19,1);\n    pbVar17 = *(byte **)puVar7;\nLAB_0009fee8:\n    if ((int)pbVar21 < (int)pbVar17) {\nLAB_0009fec4:\n      pbVar21 = pbVar21 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((pbVar17 == pbVar21) || (pbVar21[*(int *)puVar6] == 0)) goto LAB_0009fe78;\n    if (iVar20 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }" if (parenthesized_expression "(bVar1 == 0x27)" ( (binary_expression "bVar1 == 0x27" identifier == number_literal) )) (compound_statement "{\n    key = (int)(pbVar21 + 1);\n    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar19,1);\n    pbVar17 = *(byte **)puVar7;\nLAB_0009fee8:\n    if ((int)pbVar21 < (int)pbVar17) {\nLAB_0009fec4:\n      pbVar21 = pbVar21 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((pbVar17 == pbVar21) || (pbVar21[*(int *)puVar6] == 0)) goto LAB_0009fe78;\n    if (iVar20 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }" { (expression_statement "key = (int)(pbVar21 + 1);" (assignment_expression "key = (int)(pbVar21 + 1)" identifier = (cast_expression "(int)(pbVar21 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar21 + 1)" ( (binary_expression "pbVar21 + 1" identifier + number_literal) )))) ;) (expression_statement "pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar19,1);" (assignment_expression "pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar19,1)" identifier = (cast_expression "(byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar19,1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar19,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,key,puVar19,1)" ( identifier , identifier , identifier , number_literal ))))) ;) (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (labeled_statement "LAB_0009fee8:\n    if ((int)pbVar21 < (int)pbVar17) {\nLAB_0009fec4:\n      pbVar21 = pbVar21 + 1;\n      goto LAB_0009fe54;\n    }" statement_identifier : (if_statement "if ((int)pbVar21 < (int)pbVar17) {\nLAB_0009fec4:\n      pbVar21 = pbVar21 + 1;\n      goto LAB_0009fe54;\n    }" if (parenthesized_expression "((int)pbVar21 < (int)pbVar17)" ( (binary_expression "(int)pbVar21 < (int)pbVar17" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_0009fec4:\n      pbVar21 = pbVar21 + 1;\n      goto LAB_0009fe54;\n    }" { (labeled_statement "LAB_0009fec4:\n      pbVar21 = pbVar21 + 1;" statement_identifier : (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_0009fe54;" goto statement_identifier ;) }))) (labeled_statement "LAB_0009fef4:\n    if ((pbVar17 == pbVar21) || (pbVar21[*(int *)puVar6] == 0)) goto LAB_0009fe78;" statement_identifier : (if_statement "if ((pbVar17 == pbVar21) || (pbVar21[*(int *)puVar6] == 0)) goto LAB_0009fe78;" if (parenthesized_expression "((pbVar17 == pbVar21) || (pbVar21[*(int *)puVar6] == 0))" ( (binary_expression "(pbVar17 == pbVar21) || (pbVar21[*(int *)puVar6] == 0)" (parenthesized_expression "(pbVar17 == pbVar21)" ( (binary_expression "pbVar17 == pbVar21" identifier == identifier) )) || (parenthesized_expression "(pbVar21[*(int *)puVar6] == 0)" ( (binary_expression "pbVar21[*(int *)puVar6] == 0" (subscript_expression "pbVar21[*(int *)puVar6]" identifier [ (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ]) == number_literal) ))) )) (goto_statement "goto LAB_0009fe78;" goto statement_identifier ;))) (if_statement "if (iVar20 != 0) goto LAB_0009fab8;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009fab8;" goto statement_identifier ;)) (goto_statement "goto LAB_0009ff1c;" goto statement_identifier ;) })) (if_statement "if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      pbVar21 = pbVar21 + 1;\n    }\n    else {\n      iVar13 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n        if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }\n        pbVar17 = *(byte **)puVar7;\n        if (iVar13 == 0) goto LAB_0009ffc0;\n      }\n      pbVar21 = pbVar21 + iVar13;\n    }\n    goto LAB_0009fee8;\n  }" if (parenthesized_expression "(bVar1 == 0x5c)" ( (binary_expression "bVar1 == 0x5c" identifier == number_literal) )) (compound_statement "{\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      pbVar21 = pbVar21 + 1;\n    }\n    else {\n      iVar13 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n        if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }\n        pbVar17 = *(byte **)puVar7;\n        if (iVar13 == 0) goto LAB_0009ffc0;\n      }\n      pbVar21 = pbVar21 + iVar13;\n    }\n    goto LAB_0009fee8;\n  }" { (if_statement "if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      pbVar21 = pbVar21 + 1;\n    }\n    else {\n      iVar13 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n        if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }\n        pbVar17 = *(byte **)puVar7;\n        if (iVar13 == 0) goto LAB_0009ffc0;\n      }\n      pbVar21 = pbVar21 + iVar13;\n    }" if (parenthesized_expression "(*(int *)puVar3 < 2)" ( (binary_expression "*(int *)puVar3 < 2" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009ffc0:\n      pbVar21 = pbVar21 + 1;\n    }" { (labeled_statement "LAB_0009ffc0:\n      pbVar21 = pbVar21 + 1;" statement_identifier : (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n      iVar13 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n        if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }\n        pbVar17 = *(byte **)puVar7;\n        if (iVar13 == 0) goto LAB_0009ffc0;\n      }\n      pbVar21 = pbVar21 + iVar13;\n    }" else (compound_statement "{\n      iVar13 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n        if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }\n        pbVar17 = *(byte **)puVar7;\n        if (iVar13 == 0) goto LAB_0009ffc0;\n      }\n      pbVar21 = pbVar21 + iVar13;\n    }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (if_statement "if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n        if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }\n        pbVar17 = *(byte **)puVar7;\n        if (iVar13 == 0) goto LAB_0009ffc0;\n      }" if (parenthesized_expression "(-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0)" ( (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0" (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3" number_literal < (binary_expression "*(int *)(PTR_is_basic_table_00144b04 + 8) << 3" (pointer_expression "*(int *)(PTR_is_basic_table_00144b04 + 8)" * (cast_expression "(int *)(PTR_is_basic_table_00144b04 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + 8)" ( (binary_expression "PTR_is_basic_table_00144b04 + 8" identifier + number_literal) )))) << number_literal)) && (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) )) (compound_statement "{\n        iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n        if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }\n        pbVar17 = *(byte **)puVar7;\n        if (iVar13 == 0) goto LAB_0009ffc0;\n      }" { (expression_statement "iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);" (assignment_expression "iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,key,(int)pbVar12 - (int)pbVar21,&state)" ( number_literal , identifier , (binary_expression "(int)pbVar12 - (int)pbVar21" (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "&state" & identifier) )))) ;) (if_statement "if (iVar13 + 2U < 2) {\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }" if (parenthesized_expression "(iVar13 + 2U < 2)" ( (binary_expression "iVar13 + 2U < 2" (binary_expression "iVar13 + 2U" identifier + number_literal) < number_literal) )) (compound_statement "{\n          pbVar21 = pbVar21 + 1;\n          pbVar17 = *(byte **)puVar7;\n          state.__count = iVar16;\n          state.__value = aVar10;\n          goto LAB_0009fee8;\n        }" { (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "state.__count = iVar16;" (assignment_expression "state.__count = iVar16" (field_expression "state.__count" identifier . field_identifier) = identifier) ;) (expression_statement "state.__value = aVar10;" (assignment_expression "state.__value = aVar10" (field_expression "state.__value" identifier . field_identifier) = identifier) ;) (goto_statement "goto LAB_0009fee8;" goto statement_identifier ;) })) (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (iVar13 == 0) goto LAB_0009ffc0;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009ffc0;" goto statement_identifier ;)) })) (expression_statement "pbVar21 = pbVar21 + iVar13;" (assignment_expression "pbVar21 = pbVar21 + iVar13" identifier = (binary_expression "pbVar21 + iVar13" identifier + identifier)) ;) }))) (goto_statement "goto LAB_0009fee8;" goto statement_identifier ;) })) (if_statement "if (bVar1 == 0x22) {\n    key = (int)(pbVar21 + 1);\n    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar18,1);\n    pbVar17 = *(byte **)puVar7;\n    goto LAB_0009fee8;\n  }" if (parenthesized_expression "(bVar1 == 0x22)" ( (binary_expression "bVar1 == 0x22" identifier == number_literal) )) (compound_statement "{\n    key = (int)(pbVar21 + 1);\n    pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar18,1);\n    pbVar17 = *(byte **)puVar7;\n    goto LAB_0009fee8;\n  }" { (expression_statement "key = (int)(pbVar21 + 1);" (assignment_expression "key = (int)(pbVar21 + 1)" identifier = (cast_expression "(int)(pbVar21 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar21 + 1)" ( (binary_expression "pbVar21 + 1" identifier + number_literal) )))) ;) (expression_statement "pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar18,1);" (assignment_expression "pbVar21 = (byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar18,1)" identifier = (cast_expression "(byte *)(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar18,1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar13,key,puVar18,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,key,puVar18,1)" ( identifier , identifier , identifier , number_literal ))))) ;) (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto LAB_0009fee8;" goto statement_identifier ;) })) (if_statement "if (*(int *)puVar3 < 2) goto LAB_0009fec4;" if (parenthesized_expression "(*(int *)puVar3 < 2)" ( (binary_expression "*(int *)puVar3 < 2" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (goto_statement "goto LAB_0009fec4;" goto statement_identifier ;)) (if_statement "if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n    if (1 < iVar13 + 2U) {\n      pbVar17 = *(byte **)puVar7;\n      if (iVar13 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    pbVar21 = pbVar21 + 1;\n    pbVar17 = *(byte **)puVar7;\n    state.__count = iVar16;\n    state.__value = aVar10;\n  }\n  else {\n    iVar13 = 1;\nLAB_0009fe50:\n    pbVar21 = pbVar21 + iVar13;\n  }" if (parenthesized_expression "(((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0'))))" ( (binary_expression "((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))" (parenthesized_expression "((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" ( (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" * (cast_expression "(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" ( (binary_expression "PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4" identifier + (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 >> 5)" ( (binary_expression "bVar1 >> 5" identifier >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(bVar1 & 0x1f)" ( (binary_expression "bVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))" ( (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0'))" ( (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')" (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) || (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n    iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);\n    if (1 < iVar13 + 2U) {\n      pbVar17 = *(byte **)puVar7;\n      if (iVar13 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    pbVar21 = pbVar21 + 1;\n    pbVar17 = *(byte **)puVar7;\n    state.__count = iVar16;\n    state.__value = aVar10;\n  }" { (expression_statement "iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state);" (assignment_expression "iVar13 = (*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,key,(int)pbVar12 - (int)pbVar21,&state)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,key,(int)pbVar12 - (int)pbVar21,&state)" ( number_literal , identifier , (binary_expression "(int)pbVar12 - (int)pbVar21" (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "&state" & identifier) )))) ;) (if_statement "if (1 < iVar13 + 2U) {\n      pbVar17 = *(byte **)puVar7;\n      if (iVar13 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }" if (parenthesized_expression "(1 < iVar13 + 2U)" ( (binary_expression "1 < iVar13 + 2U" number_literal < (binary_expression "iVar13 + 2U" identifier + number_literal)) )) (compound_statement "{\n      pbVar17 = *(byte **)puVar7;\n      if (iVar13 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }" { (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (iVar13 == 0) goto LAB_0009fec4;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fec4;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fe50;" goto statement_identifier ;) })) (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) (expression_statement "pbVar17 = *(byte **)puVar7;" (assignment_expression "pbVar17 = *(byte **)puVar7" identifier = (pointer_expression "*(byte **)puVar7" * (cast_expression "(byte **)puVar7" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "state.__count = iVar16;" (assignment_expression "state.__count = iVar16" (field_expression "state.__count" identifier . field_identifier) = identifier) ;) (expression_statement "state.__value = aVar10;" (assignment_expression "state.__value = aVar10" (field_expression "state.__value" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n    iVar13 = 1;\nLAB_0009fe50:\n    pbVar21 = pbVar21 + iVar13;\n  }" else (compound_statement "{\n    iVar13 = 1;\nLAB_0009fe50:\n    pbVar21 = pbVar21 + iVar13;\n  }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0009fe50:\n    pbVar21 = pbVar21 + iVar13;" statement_identifier : (expression_statement "pbVar21 = pbVar21 + iVar13;" (assignment_expression "pbVar21 = pbVar21 + iVar13" identifier = (binary_expression "pbVar21 + iVar13" identifier + identifier)) ;)) }))) (labeled_statement "LAB_0009fe54:\n  if ((int)pbVar17 <= (int)pbVar21) goto LAB_0009fef4;" statement_identifier : (if_statement "if ((int)pbVar17 <= (int)pbVar21) goto LAB_0009fef4;" if (parenthesized_expression "((int)pbVar17 <= (int)pbVar21)" ( (binary_expression "(int)pbVar17 <= (int)pbVar21" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0009fef4;" goto statement_identifier ;))) (expression_statement "iVar13 = *(int *)puVar6;" (assignment_expression "iVar13 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "key = (int)(pbVar21 + iVar13);" (assignment_expression "key = (int)(pbVar21 + iVar13)" identifier = (cast_expression "(int)(pbVar21 + iVar13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar21 + iVar13)" ( (binary_expression "pbVar21 + iVar13" identifier + identifier) )))) ;) (expression_statement "bVar1 = *(byte *)key;" (assignment_expression "bVar1 = *(byte *)key" identifier = (pointer_expression "*(byte *)key" * (cast_expression "(byte *)key" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (bVar1 == 0) goto LAB_0009fe78;" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fe78;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fdd8;" goto statement_identifier ;) (labeled_statement "LAB_0009fe78:\n  *(byte **)puVar8 = pbVar17;" statement_identifier : (expression_statement "*(byte **)puVar8 = pbVar17;" (assignment_expression "*(byte **)puVar8 = pbVar17" (pointer_expression "*(byte **)puVar8" * (cast_expression "(byte **)puVar8" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;)) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0009fbac;" goto statement_identifier ;) })))
(translation_unit "undefined4 FUN_0009f940(int param_1)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined *puVar21;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar21 = PTR_sh_syntaxtab_00144988;\n  local_3c = 0;\n  local_38 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }\n  uVar13 = FUN_0009a73c();\n  return uVar13;\nLAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }\nLAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;\n  iVar15 = *(int *)puVar6;\n  pbVar17 = (byte *)(iVar15 + iVar20);\n  bVar1 = *pbVar17;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(int *)puVar8 = iVar11;\n  uVar13 = 0;\n  goto LAB_0009fbac;\n}\n\n" (function_definition "undefined4 FUN_0009f940(int param_1)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined *puVar21;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar21 = PTR_sh_syntaxtab_00144988;\n  local_3c = 0;\n  local_38 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }\n  uVar13 = FUN_0009a73c();\n  return uVar13;\nLAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }\nLAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;\n  iVar15 = *(int *)puVar6;\n  pbVar17 = (byte *)(iVar15 + iVar20);\n  bVar1 = *pbVar17;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(int *)puVar8 = iVar11;\n  uVar13 = 0;\n  goto LAB_0009fbac;\n}" type_identifier (function_declarator "FUN_0009f940(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined *puVar21;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar21 = PTR_sh_syntaxtab_00144988;\n  local_3c = 0;\n  local_38 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }\n  uVar13 = FUN_0009a73c();\n  return uVar13;\nLAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }\nLAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;\n  iVar15 = *(int *)puVar6;\n  pbVar17 = (byte *)(iVar15 + iVar20);\n  bVar1 = *pbVar17;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(int *)puVar8 = iVar11;\n  uVar13 = 0;\n  goto LAB_0009fbac;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar9 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar9 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar8 = PTR_rl_point_0014555c;" (assignment_expression "puVar8 = PTR_rl_point_0014555c" identifier = identifier) ;) (expression_statement "puVar7 = PTR_rl_end_00145558;" (assignment_expression "puVar7 = PTR_rl_end_00145558" identifier = identifier) ;) (expression_statement "puVar6 = PTR_rl_line_buffer_00145548;" (assignment_expression "puVar6 = PTR_rl_line_buffer_00145548" identifier = identifier) ;) (expression_statement "puVar21 = PTR_sh_syntaxtab_00144988;" (assignment_expression "puVar21 = PTR_sh_syntaxtab_00144988" identifier = identifier) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" * (cast_expression "(int *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }" if (parenthesized_expression "(param_1 < 0)" ( (binary_expression "param_1 < 0" identifier < number_literal) )) (compound_statement "{\n    uVar13 = FUN_0009f610(-param_1);\n  }" { (expression_statement "uVar13 = FUN_0009f610(-param_1);" (assignment_expression "uVar13 = FUN_0009f610(-param_1)" identifier = (call_expression "FUN_0009f610(-param_1)" identifier (argument_list "(-param_1)" ( (unary_expression "-param_1" - identifier) )))) ;) }) (else_clause "else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }" else (compound_statement "{\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }" { (expression_statement "iVar20 = *(int *)PTR_rl_point_0014555c;" (assignment_expression "iVar20 = *(int *)PTR_rl_point_0014555c" identifier = (pointer_expression "*(int *)PTR_rl_point_0014555c" * (cast_expression "(int *)PTR_rl_point_0014555c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar10 = *(int *)PTR_rl_end_00145558;" (assignment_expression "iVar10 = *(int *)PTR_rl_end_00145558" identifier = (pointer_expression "*(int *)PTR_rl_end_00145558" * (cast_expression "(int *)PTR_rl_end_00145558" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }" { (labeled_statement "LAB_0009ff1c:\n      uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) (expression_statement "*(int *)puVar8 = iVar20;" (assignment_expression "*(int *)puVar8 = iVar20" (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }" else (compound_statement "{\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }" { (if_statement "if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }" if (parenthesized_expression "(iVar10 != iVar20)" ( (binary_expression "iVar10 != iVar20" identifier != identifier) )) (compound_statement "{\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }" { (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;) (expression_statement "puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;" (assignment_expression "puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0" identifier = (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0" identifier + number_literal)) ;) (expression_statement "puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;" (assignment_expression "puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0" identifier = (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0" identifier + number_literal)) ;) (do_statement "do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);" do (compound_statement "{\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        }" { (expression_statement "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);" (assignment_expression "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" identifier = (call_expression "(*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" (parenthesized_expression "(*(code *)PTR_char_is_quoted_00145630)" ( (pointer_expression "*(code *)PTR_char_is_quoted_00145630" * (cast_expression "(code *)PTR_char_is_quoted_00145630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar6,iVar20)" ( (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier )))) ;) (expression_statement "puVar5 = PTR_is_basic_table_00144b04;" (assignment_expression "puVar5 = PTR_is_basic_table_00144b04" identifier = identifier) ;) (expression_statement "puVar4 = PTR_locale_mb_cur_max_00144b00;" (assignment_expression "puVar4 = PTR_locale_mb_cur_max_00144b00" identifier = identifier) ;) (expression_statement "puVar3 = PTR_locale_utf8locale_00144afc;" (assignment_expression "puVar3 = PTR_locale_utf8locale_00144afc" identifier = identifier) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" identifier = (cast_expression "(char *)(iVar15 + iVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;) (if_statement "if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }" if (parenthesized_expression "(((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\'))" ( (binary_expression "((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')" (parenthesized_expression "((iVar11 == 0) || (iVar20 < 1))" ( (binary_expression "(iVar11 == 0) || (iVar20 < 1)" (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar20 < 1)" ( (binary_expression "iVar20 < 1" identifier < number_literal) ))) )) || (parenthesized_expression "(pcVar16[-1] == '\\')" ( (binary_expression "pcVar16[-1] == '\\'" (subscript_expression "pcVar16[-1]" identifier [ number_literal ]) == (char_literal "'\\'" ' escape_sequence ')) ))) )) (compound_statement "{\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }" { (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar12 = (uint)*pcVar16;" (assignment_expression "uVar12 = (uint)*pcVar16" identifier = (binary_expression "(uint)*pcVar16" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }" if (parenthesized_expression "(iVar20 < iVar11)" ( (binary_expression "iVar20 < iVar11" identifier < identifier) )) (compound_statement "{\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }" { (do_statement "do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);" do (compound_statement "{\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              }" { (expression_statement "puVar3 = PTR_locale_mb_cur_max_00144b00;" (assignment_expression "puVar3 = PTR_locale_mb_cur_max_00144b00" identifier = identifier) ;) (if_statement "if (uVar12 == 0) goto LAB_0009fb98;" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fb98;" goto statement_identifier ;)) (if_statement "if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }" if (parenthesized_expression "((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0)" ( (binary_expression "(*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0" (parenthesized_expression "(*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001)" ( (binary_expression "*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001" (pointer_expression "*(uint *)(puVar21 + (uVar12 & 0xff) * 4)" * (cast_expression "(uint *)(puVar21 + (uVar12 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + (uVar12 & 0xff) * 4)" ( (binary_expression "puVar21 + (uVar12 & 0xff) * 4" identifier + (binary_expression "(uVar12 & 0xff) * 4" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }" { (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar17 = (byte *)(iVar15 + iVar20);" (assignment_expression "pbVar17 = (byte *)(iVar15 + iVar20)" identifier = (cast_expression "(byte *)(iVar15 + iVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;) (expression_statement "bVar1 = *pbVar17;" (assignment_expression "bVar1 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (if_statement "if (bVar1 != 0) goto LAB_0009fdd8;" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009fdd8;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fe78;" goto statement_identifier ;) })) (if_statement "if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }" if (parenthesized_expression "(uVar12 == 0x27)" ( (binary_expression "uVar12 == 0x27" identifier == number_literal) )) (compound_statement "{\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }" { (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" identifier = (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar15,iVar20 + 1,puVar19,1)" ( identifier , (binary_expression "iVar20 + 1" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;" statement_identifier : (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" identifier = (binary_expression "iVar20 < iVar11" identifier < identifier)) ;)) (if_statement "if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" { (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" identifier = (binary_expression "iVar20 < iVar11" identifier < identifier)) ;) (labeled_statement "LAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);" statement_identifier : (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" identifier = (cast_expression "(char *)(iVar15 + iVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;)) }) (else_clause "else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" else (compound_statement "{\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" { (labeled_statement "LAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);" statement_identifier : (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" identifier = (cast_expression "(char *)(iVar15 + iVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;)) }))) }) (else_clause "else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }" else (compound_statement "{\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }" { (if_statement "if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }" if (parenthesized_expression "(uVar12 == 0x5c)" ( (binary_expression "uVar12 == 0x5c" identifier == number_literal) )) (compound_statement "{\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }" { (if_statement "if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }" if (parenthesized_expression "(*(int *)PTR_locale_mb_cur_max_00144b00 < 2)" ( (binary_expression "*(int *)PTR_locale_mb_cur_max_00144b00 < 2" (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" * (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }" { (labeled_statement "LAB_0009fd20:\n                      iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }" else (compound_statement "{\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }" { (expression_statement "iVar14 = 1;" (assignment_expression "iVar14 = 1" identifier = number_literal) ;) (if_statement "if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }" if (parenthesized_expression "(-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0)" ( (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0" (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3" number_literal < (binary_expression "*(int *)(PTR_is_basic_table_00144b04 + 8) << 3" (pointer_expression "*(int *)(PTR_is_basic_table_00144b04 + 8)" * (cast_expression "(int *)(PTR_is_basic_table_00144b04 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + 8)" ( (binary_expression "PTR_is_basic_table_00144b04 + 8" identifier + number_literal) )))) << number_literal)) && (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) )) (compound_statement "{\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }" { (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" identifier = identifier) ;) (expression_statement "iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pcVar16,iVar10 - iVar20,&local_3c)" ( number_literal , identifier , (binary_expression "iVar10 - iVar20" identifier - identifier) , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }" if (parenthesized_expression "(iVar14 + 2U < 2)" ( (binary_expression "iVar14 + 2U < 2" (binary_expression "iVar14 + 2U" identifier + number_literal) < number_literal) )) (compound_statement "{\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }" { (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_0009fc74;" goto statement_identifier ;) })) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar14 == 0) goto LAB_0009fd20;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fd20;" goto statement_identifier ;)) })) (expression_statement "iVar20 = iVar14 + iVar20;" (assignment_expression "iVar20 = iVar14 + iVar20" identifier = (binary_expression "iVar14 + iVar20" identifier + identifier)) ;) }))) (goto_statement "goto LAB_0009fc74;" goto statement_identifier ;) })) (if_statement "if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }" if (parenthesized_expression "(uVar12 == 0x22)" ( (binary_expression "uVar12 == 0x22" identifier == number_literal) )) (compound_statement "{\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }" { (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" identifier = (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar15,iVar20 + 1,puVar18,1)" ( identifier , (binary_expression "iVar20 + 1" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_0009fc74;" goto statement_identifier ;) })) (if_statement "if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }" if (parenthesized_expression "(*(int *)PTR_locale_mb_cur_max_00144b00 < 2)" ( (binary_expression "*(int *)PTR_locale_mb_cur_max_00144b00 < 2" (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" * (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }" { (labeled_statement "LAB_0009fc30:\n                    iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" identifier = (binary_expression "iVar20 < iVar11" identifier < identifier)) ;) (goto_statement "goto LAB_0009fc38;" goto statement_identifier ;) })) (if_statement "if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }" if (parenthesized_expression "(((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12))))" ( (binary_expression "((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))" (parenthesized_expression "((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0)" ( (binary_expression "(*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1)" ( (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1" (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f)" (pointer_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4)" * (cast_expression "(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4)" ( (binary_expression "PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4" identifier + (binary_expression "((uVar12 & 0xff) >> 5) * 4" (parenthesized_expression "((uVar12 & 0xff) >> 5)" ( (binary_expression "(uVar12 & 0xff) >> 5" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) >> number_literal) )) * number_literal)) )))) >> (parenthesized_expression "(uVar12 & 0x1f)" ( (binary_expression "uVar12 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))" ( (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12))" ( (binary_expression "*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)" (binary_expression "*(int *)PTR_locale_utf8locale_00144afc != 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) && (parenthesized_expression "(-1 < (int)uVar12)" ( (binary_expression "-1 < (int)uVar12" number_literal < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }" { (expression_statement "iVar14 = 1;" (assignment_expression "iVar14 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;" statement_identifier : (expression_statement "iVar20 = iVar14 + iVar20;" (assignment_expression "iVar20 = iVar14 + iVar20" identifier = (binary_expression "iVar14 + iVar20" identifier + identifier)) ;)) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" identifier = (binary_expression "iVar20 < iVar11" identifier < identifier)) ;) (goto_statement "goto LAB_0009fb78;" goto statement_identifier ;) })) (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" identifier = identifier) ;) (expression_statement "iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pcVar16,iVar10 - iVar20,&local_3c)" ( number_literal , identifier , (binary_expression "iVar10 - iVar20" identifier - identifier) , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }" if (parenthesized_expression "(1 < iVar14 + 2U)" ( (binary_expression "1 < iVar14 + 2U" number_literal < (binary_expression "iVar14 + 2U" identifier + number_literal)) )) (compound_statement "{\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }" { (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar14 == 0) goto LAB_0009fc30;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fc30;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fb70;" goto statement_identifier ;) })) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" identifier = (binary_expression "iVar20 < iVar11" identifier < identifier)) ;) (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" identifier = (cast_expression "(char *)(iVar15 + iVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;) }))) (expression_statement "uVar12 = (uint)*pcVar16;" (assignment_expression "uVar12 = (uint)*pcVar16" identifier = (binary_expression "(uint)*pcVar16" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) while (parenthesized_expression "(bVar2)" ( identifier )) ;) })) (if_statement "if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }" if (parenthesized_expression "((uVar12 == 0) || (iVar20 == iVar11))" ( (binary_expression "(uVar12 == 0) || (iVar20 == iVar11)" (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar20 == iVar11)" ( (binary_expression "iVar20 == iVar11" identifier == identifier) ))) )) (compound_statement "{\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }" { (labeled_statement "LAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;" statement_identifier : (expression_statement "puVar21 = PTR_rl_ding_00145634;" (assignment_expression "puVar21 = PTR_rl_ding_00145634" identifier = identifier) ;)) (expression_statement "*(int *)puVar8 = iVar11;" (assignment_expression "*(int *)puVar8 = iVar11" (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "(*(code *)puVar21)();" (call_expression "(*(code *)puVar21)()" (parenthesized_expression "(*(code *)puVar21)" ( (pointer_expression "*(code *)puVar21" * (cast_expression "(code *)puVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0009fbac;" goto statement_identifier ;) })) }) (else_clause "else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }" else (compound_statement "{\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }" { (do_statement "do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));" do (compound_statement "{\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            }" { (if_statement "if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }" if (parenthesized_expression "(*(int *)puVar4 < 2)" ( (binary_expression "*(int *)puVar4 < 2" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }" { (labeled_statement "LAB_0009fa88:\n                iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }" else (compound_statement "{\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }" { (expression_statement "bVar1 = *(byte *)(*(int *)puVar6 + iVar20);" (assignment_expression "bVar1 = *(byte *)(*(int *)puVar6 + iVar20)" identifier = (pointer_expression "*(byte *)(*(int *)puVar6 + iVar20)" * (cast_expression "(byte *)(*(int *)puVar6 + iVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar20)" ( (binary_expression "*(int *)puVar6 + iVar20" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) ))))) ;) (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" identifier = number_literal) ;) (if_statement "if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }" if (parenthesized_expression "((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" ( (binary_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4)" * (cast_expression "(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + (uint)(bVar1 >> 5) * 4)" ( (binary_expression "puVar5 + (uint)(bVar1 >> 5) * 4" identifier + (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 >> 5)" ( (binary_expression "bVar1 >> 5" identifier >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(bVar1 & 0x1f)" ( (binary_expression "bVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }" { (if_statement "if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }" if (parenthesized_expression "((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))" ( (binary_expression "(*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')" (parenthesized_expression "(*(int *)puVar3 == 0)" ( (binary_expression "*(int *)puVar3 == 0" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')" ( (comma_expression "uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0'" (assignment_expression "uVar12 = (uint)(bVar1 != 0)" identifier = (call_expression "(uint)(bVar1 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )))) , (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }" { (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" identifier = identifier) ;) (expression_statement "uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);" (assignment_expression "uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c)" ( number_literal , (cast_expression "(byte *)(*(int *)puVar6 + iVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar20)" ( (binary_expression "*(int *)puVar6 + iVar20" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) ))) , (binary_expression "iVar10 - iVar20" identifier - identifier) , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (1 < uVar12 + 2) goto LAB_0009fa80;" if (parenthesized_expression "(1 < uVar12 + 2)" ( (binary_expression "1 < uVar12 + 2" number_literal < (binary_expression "uVar12 + 2" identifier + number_literal)) )) (goto_statement "goto LAB_0009fa80;" goto statement_identifier ;)) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_0009fa8c;" goto statement_identifier ;) })) (labeled_statement "LAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;" statement_identifier : (if_statement "if (uVar12 == 0) goto LAB_0009fa88;" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fa88;" goto statement_identifier ;))) })) (expression_statement "iVar20 = iVar20 + uVar12;" (assignment_expression "iVar20 = iVar20 + uVar12" identifier = (binary_expression "iVar20 + uVar12" identifier + identifier)) ;) }))) (labeled_statement "LAB_0009fa8c:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0))" ( (binary_expression "(iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0)" (parenthesized_expression "(iVar20 < *(int *)puVar7)" ( (binary_expression "iVar20 < *(int *)puVar7" identifier < (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0)" ( (comma_expression "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0" (assignment_expression "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" identifier = (call_expression "(*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" (parenthesized_expression "(*(code *)PTR_char_is_quoted_00145630)" ( (pointer_expression "*(code *)PTR_char_is_quoted_00145630" * (cast_expression "(code *)PTR_char_is_quoted_00145630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar6,iVar20)" ( (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier )))) , (binary_expression "iVar11 != 0" identifier != number_literal)) ))) )) ;) }))) (labeled_statement "LAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;" statement_identifier : (if_statement "if (param_1 == 0) goto LAB_0009ff1c;" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009ff1c;" goto statement_identifier ;))) (labeled_statement "LAB_0009fab8:\n          param_1 = param_1 + -1;" statement_identifier : (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(*(int *)puVar7 != iVar20)" ( (binary_expression "*(int *)puVar7 != iVar20" (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != identifier) )) ;) })) (expression_statement "*(int *)puVar8 = iVar20;" (assignment_expression "*(int *)puVar8 = iVar20" (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar9)" ( (binary_expression "local_2c == *(int *)puVar9" identifier == (pointer_expression "*(int *)puVar9" * (cast_expression "(int *)puVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return uVar13;\n  }" { (return_statement "return uVar13;" return identifier ;) }))) (expression_statement "puVar21 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar21 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }" if (parenthesized_expression "(**(int **)(puVar21 + 0xa456c) == 0)" ( (binary_expression "**(int **)(puVar21 + 0xa456c) == 0" (pointer_expression "**(int **)(puVar21 + 0xa456c)" * (pointer_expression "*(int **)(puVar21 + 0xa456c)" * (cast_expression "(int **)(puVar21 + 0xa456c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0xa456c)" ( (binary_expression "puVar21 + 0xa456c" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }" { (expression_statement "uVar13 = FUN_0009a73c();" (assignment_expression "uVar13 = FUN_0009a73c()" identifier = (call_expression "FUN_0009a73c()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar13;" return identifier ;) })) (expression_statement "uVar13 = FUN_0009a73c();" (assignment_expression "uVar13 = FUN_0009a73c()" identifier = (call_expression "FUN_0009a73c()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar13;" return identifier ;) (labeled_statement "LAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;" statement_identifier : (if_statement "if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;" if (parenthesized_expression "((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0)" ( (binary_expression "(*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0" (parenthesized_expression "(*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001)" ( (binary_expression "*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001" (pointer_expression "*(uint *)(puVar21 + (uint)bVar1 * 4)" * (cast_expression "(uint *)(puVar21 + (uint)bVar1 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + (uint)bVar1 * 4)" ( (binary_expression "puVar21 + (uint)bVar1 * 4" identifier + (binary_expression "(uint)bVar1 * 4" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009fab0;" goto statement_identifier ;))) (if_statement "if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }" if (parenthesized_expression "(bVar1 == 0x27)" ( (binary_expression "bVar1 == 0x27" identifier == number_literal) )) (compound_statement "{\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }" { (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" identifier = (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar15,iVar20 + 1,puVar19,1)" ( identifier , (binary_expression "iVar20 + 1" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }" statement_identifier : (if_statement "if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }" if (parenthesized_expression "(iVar20 < iVar11)" ( (binary_expression "iVar20 < iVar11" identifier < identifier) )) (compound_statement "{\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }" { (labeled_statement "LAB_0009fec4:\n      iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_0009fe54;" goto statement_identifier ;) }))) (labeled_statement "LAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;" statement_identifier : (if_statement "if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;" if (parenthesized_expression "((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0'))" ( (binary_expression "(iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')" (parenthesized_expression "(iVar11 == iVar20)" ( (binary_expression "iVar11 == iVar20" identifier == identifier) )) || (parenthesized_expression "(*(char *)(*(int *)puVar6 + iVar20) == '\0')" ( (binary_expression "*(char *)(*(int *)puVar6 + iVar20) == '\0'" (pointer_expression "*(char *)(*(int *)puVar6 + iVar20)" * (cast_expression "(char *)(*(int *)puVar6 + iVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar20)" ( (binary_expression "*(int *)puVar6 + iVar20" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0009fe78;" goto statement_identifier ;))) (if_statement "if (param_1 != 0) goto LAB_0009fab8;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009fab8;" goto statement_identifier ;)) (goto_statement "goto LAB_0009ff1c;" goto statement_identifier ;) })) (if_statement "if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }" if (parenthesized_expression "(bVar1 == 0x5c)" ( (binary_expression "bVar1 == 0x5c" identifier == number_literal) )) (compound_statement "{\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }" { (if_statement "if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }" if (parenthesized_expression "(*(int *)puVar3 < 2)" ( (binary_expression "*(int *)puVar3 < 2" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }" { (labeled_statement "LAB_0009ffc0:\n      iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }" else (compound_statement "{\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (if_statement "if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }" if (parenthesized_expression "(-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0)" ( (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0" (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3" number_literal < (binary_expression "*(int *)(PTR_is_basic_table_00144b04 + 8) << 3" (pointer_expression "*(int *)(PTR_is_basic_table_00144b04 + 8)" * (cast_expression "(int *)(PTR_is_basic_table_00144b04 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + 8)" ( (binary_expression "PTR_is_basic_table_00144b04 + 8" identifier + number_literal) )))) << number_literal)) && (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) )) (compound_statement "{\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }" { (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" identifier = identifier) ;) (expression_statement "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pbVar17,iVar10 - iVar20,&local_3c)" ( number_literal , identifier , (binary_expression "iVar10 - iVar20" identifier - identifier) , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }" if (parenthesized_expression "(iVar15 + 2U < 2)" ( (binary_expression "iVar15 + 2U < 2" (binary_expression "iVar15 + 2U" identifier + number_literal) < number_literal) )) (compound_statement "{\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }" { (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_0009fee8;" goto statement_identifier ;) })) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar15 == 0) goto LAB_0009ffc0;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009ffc0;" goto statement_identifier ;)) })) (expression_statement "iVar20 = iVar20 + iVar15;" (assignment_expression "iVar20 = iVar20 + iVar15" identifier = (binary_expression "iVar20 + iVar15" identifier + identifier)) ;) }))) (goto_statement "goto LAB_0009fee8;" goto statement_identifier ;) })) (if_statement "if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }" if (parenthesized_expression "(bVar1 == 0x22)" ( (binary_expression "bVar1 == 0x22" identifier == number_literal) )) (compound_statement "{\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }" { (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" identifier = (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" ( (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" * (cast_expression "(code *)PTR_skip_to_delim_00144b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar15,iVar20 + 1,puVar18,1)" ( identifier , (binary_expression "iVar20 + 1" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_0009fee8;" goto statement_identifier ;) })) (if_statement "if (*(int *)puVar3 < 2) goto LAB_0009fec4;" if (parenthesized_expression "(*(int *)puVar3 < 2)" ( (binary_expression "*(int *)puVar3 < 2" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (goto_statement "goto LAB_0009fec4;" goto statement_identifier ;)) (if_statement "if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }" if (parenthesized_expression "(((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0'))))" ( (binary_expression "((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))" (parenthesized_expression "((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" ( (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" * (cast_expression "(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" ( (binary_expression "PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4" identifier + (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 >> 5)" ( (binary_expression "bVar1 >> 5" identifier >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(bVar1 & 0x1f)" ( (binary_expression "bVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))" ( (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0'))" ( (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')" (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) || (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }" { (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" identifier = identifier) ;) (expression_statement "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pbVar17,iVar10 - iVar20,&local_3c)" ( number_literal , identifier , (binary_expression "iVar10 - iVar20" identifier - identifier) , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }" if (parenthesized_expression "(1 < iVar15 + 2U)" ( (binary_expression "1 < iVar15 + 2U" number_literal < (binary_expression "iVar15 + 2U" identifier + number_literal)) )) (compound_statement "{\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }" { (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar15 == 0) goto LAB_0009fec4;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fec4;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fe50;" goto statement_identifier ;) })) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" identifier = (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) }) (else_clause "else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }" else (compound_statement "{\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0009fe50:\n    iVar20 = iVar20 + iVar15;" statement_identifier : (expression_statement "iVar20 = iVar20 + iVar15;" (assignment_expression "iVar20 = iVar20 + iVar15" identifier = (binary_expression "iVar20 + iVar15" identifier + identifier)) ;)) }))) (labeled_statement "LAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;" statement_identifier : (if_statement "if (iVar11 <= iVar20) goto LAB_0009fef4;" if (parenthesized_expression "(iVar11 <= iVar20)" ( (binary_expression "iVar11 <= iVar20" identifier <= identifier) )) (goto_statement "goto LAB_0009fef4;" goto statement_identifier ;))) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar17 = (byte *)(iVar15 + iVar20);" (assignment_expression "pbVar17 = (byte *)(iVar15 + iVar20)" identifier = (cast_expression "(byte *)(iVar15 + iVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar20)" ( (binary_expression "iVar15 + iVar20" identifier + identifier) )))) ;) (expression_statement "bVar1 = *pbVar17;" (assignment_expression "bVar1 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (if_statement "if (bVar1 == 0) goto LAB_0009fe78;" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009fe78;" goto statement_identifier ;)) (goto_statement "goto LAB_0009fdd8;" goto statement_identifier ;) (labeled_statement "LAB_0009fe78:\n  *(int *)puVar8 = iVar11;" statement_identifier : (expression_statement "*(int *)puVar8 = iVar11;" (assignment_expression "*(int *)puVar8 = iVar11" (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0009fbac;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (unary_expression - IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (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) , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;)) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;)) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , (binary_expression IDENT - IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (binary_expression IDENT + IDENT)) ;) }))) (goto_statement goto statement_identifier ;) })) (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) , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) )))) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , (binary_expression IDENT - IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) }) while (parenthesized_expression ( IDENT )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) ))) , (binary_expression IDENT - IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement ;)) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != IDENT) )) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return IDENT ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;))) (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) , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) )))) == (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , (binary_expression IDENT - IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (goto_statement goto statement_identifier ;) })) (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) , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , (binary_expression IDENT - IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT + LIT)) )) (compound_statement { (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 ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 FUN_0009f940(int param_1)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined *puVar21;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar21 = PTR_sh_syntaxtab_00144988;\n  local_3c = 0;\n  local_38 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }\n  uVar13 = FUN_0009a73c();\n  return uVar13;\nLAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }\nLAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;\n  iVar15 = *(int *)puVar6;\n  pbVar17 = (byte *)(iVar15 + iVar20);\n  bVar1 = *pbVar17;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(int *)puVar8 = iVar11;\n  uVar13 = 0;\n  goto LAB_0009fbac;\n}" (type_identifier "undefined4") (function_declarator "FUN_0009f940(int param_1)" (identifier "FUN_0009f940") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined *puVar21;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_001464dc;\n  puVar8 = PTR_rl_point_0014555c;\n  puVar7 = PTR_rl_end_00145558;\n  puVar6 = PTR_rl_line_buffer_00145548;\n  puVar21 = PTR_sh_syntaxtab_00144988;\n  local_3c = 0;\n  local_38 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }\nLAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }\n  uVar13 = FUN_0009a73c();\n  return uVar13;\nLAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;\n  if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }\n  if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }\n  if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }\n  if (*(int *)puVar3 < 2) goto LAB_0009fec4;\n  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }\nLAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;\n  iVar15 = *(int *)puVar6;\n  pbVar17 = (byte *)(iVar15 + iVar20);\n  bVar1 = *pbVar17;\n  if (bVar1 == 0) goto LAB_0009fe78;\n  goto LAB_0009fdd8;\nLAB_0009fe78:\n  *(int *)puVar8 = iVar11;\n  uVar13 = 0;\n  goto LAB_0009fbac;\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 "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "undefined *puVar18;" (type_identifier "undefined") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "undefined *puVar19;" (type_identifier "undefined") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "undefined *puVar21;" (type_identifier "undefined") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar9 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar9 = PTR___stack_chk_guard_001464dc" (identifier "puVar9") (= "=") (identifier "PTR___stack_chk_guard_001464dc")) (; ";")) (expression_statement "puVar8 = PTR_rl_point_0014555c;" (assignment_expression "puVar8 = PTR_rl_point_0014555c" (identifier "puVar8") (= "=") (identifier "PTR_rl_point_0014555c")) (; ";")) (expression_statement "puVar7 = PTR_rl_end_00145558;" (assignment_expression "puVar7 = PTR_rl_end_00145558" (identifier "puVar7") (= "=") (identifier "PTR_rl_end_00145558")) (; ";")) (expression_statement "puVar6 = PTR_rl_line_buffer_00145548;" (assignment_expression "puVar6 = PTR_rl_line_buffer_00145548" (identifier "puVar6") (= "=") (identifier "PTR_rl_line_buffer_00145548")) (; ";")) (expression_statement "puVar21 = PTR_sh_syntaxtab_00144988;" (assignment_expression "puVar21 = PTR_sh_syntaxtab_00144988" (identifier "puVar21") (= "=") (identifier "PTR_sh_syntaxtab_00144988")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_001464dc" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_001464dc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_001464dc")))) (; ";")) (if_statement "if (param_1 < 0) {\n    uVar13 = FUN_0009f610(-param_1);\n  }\n  else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 < 0)" (( "(") (binary_expression "param_1 < 0" (identifier "param_1") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    uVar13 = FUN_0009f610(-param_1);\n  }" ({ "{") (expression_statement "uVar13 = FUN_0009f610(-param_1);" (assignment_expression "uVar13 = FUN_0009f610(-param_1)" (identifier "uVar13") (= "=") (call_expression "FUN_0009f610(-param_1)" (identifier "FUN_0009f610") (argument_list "(-param_1)" (( "(") (unary_expression "-param_1" (- "-") (identifier "param_1")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }" (else "else") (compound_statement "{\n    iVar20 = *(int *)PTR_rl_point_0014555c;\n    iVar10 = *(int *)PTR_rl_end_00145558;\n    if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }\n  }" ({ "{") (expression_statement "iVar20 = *(int *)PTR_rl_point_0014555c;" (assignment_expression "iVar20 = *(int *)PTR_rl_point_0014555c" (identifier "iVar20") (= "=") (pointer_expression "*(int *)PTR_rl_point_0014555c" (* "*") (cast_expression "(int *)PTR_rl_point_0014555c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_point_0014555c")))) (; ";")) (expression_statement "iVar10 = *(int *)PTR_rl_end_00145558;" (assignment_expression "iVar10 = *(int *)PTR_rl_end_00145558" (identifier "iVar10") (= "=") (pointer_expression "*(int *)PTR_rl_end_00145558" (* "*") (cast_expression "(int *)PTR_rl_end_00145558" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_end_00145558")))) (; ";")) (if_statement "if (param_1 == 0) {\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }\n    else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0009ff1c:\n      uVar13 = 0;\n      *(int *)puVar8 = iVar20;\n    }" ({ "{") (labeled_statement "LAB_0009ff1c:\n      uVar13 = 0;" (statement_identifier "LAB_0009ff1c") (: ":") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(int *)puVar8 = iVar20;" (assignment_expression "*(int *)puVar8 = iVar20" (pointer_expression "*(int *)puVar8" (* "*") (cast_expression "(int *)puVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8"))) (= "=") (identifier "iVar20")) (; ";")) (} "}")) (else_clause "else {\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }" (else "else") (compound_statement "{\n      if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }\n      *(int *)puVar8 = iVar20;\n      uVar13 = 0;\n    }" ({ "{") (if_statement "if (iVar10 != iVar20) {\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }" (if "if") (parenthesized_expression "(iVar10 != iVar20)" (( "(") (binary_expression "iVar10 != iVar20" (identifier "iVar10") (!= "!=") (identifier "iVar20")) () ")")) (compound_statement "{\n        param_1 = param_1 + -1;\n        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;\n        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;\n        do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);\n      }" ({ "{") (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" (identifier "param_1") (= "=") (binary_expression "param_1 + -1" (identifier "param_1") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;" (assignment_expression "puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0" (identifier "puVar19") (= "=") (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0" (identifier "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94") (+ "+") (number_literal "-0x6ee0"))) (; ";")) (expression_statement "puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;" (assignment_expression "puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0" (identifier "puVar18") (= "=") (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0" (identifier "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94") (+ "+") (number_literal "-0x6de0"))) (; ";")) (do_statement "do {\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        } while (*(int *)puVar7 != iVar20);" (do "do") (compound_statement "{\n          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);\n          puVar5 = PTR_is_basic_table_00144b04;\n          puVar4 = PTR_locale_mb_cur_max_00144b00;\n          puVar3 = PTR_locale_utf8locale_00144afc;\n          iVar15 = *(int *)puVar6;\n          pcVar16 = (char *)(iVar15 + iVar20);\n          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }\nLAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;\nLAB_0009fab8:\n          param_1 = param_1 + -1;\n        }" ({ "{") (expression_statement "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);" (assignment_expression "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" (parenthesized_expression "(*(code *)PTR_char_is_quoted_00145630)" (( "(") (pointer_expression "*(code *)PTR_char_is_quoted_00145630" (* "*") (cast_expression "(code *)PTR_char_is_quoted_00145630" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_char_is_quoted_00145630"))) () ")")) (argument_list "(*(undefined4 *)puVar6,iVar20)" (( "(") (pointer_expression "*(undefined4 *)puVar6" (* "*") (cast_expression "(undefined4 *)puVar6" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (, ",") (identifier "iVar20") () ")")))) (; ";")) (expression_statement "puVar5 = PTR_is_basic_table_00144b04;" (assignment_expression "puVar5 = PTR_is_basic_table_00144b04" (identifier "puVar5") (= "=") (identifier "PTR_is_basic_table_00144b04")) (; ";")) (expression_statement "puVar4 = PTR_locale_mb_cur_max_00144b00;" (assignment_expression "puVar4 = PTR_locale_mb_cur_max_00144b00" (identifier "puVar4") (= "=") (identifier "PTR_locale_mb_cur_max_00144b00")) (; ";")) (expression_statement "puVar3 = PTR_locale_utf8locale_00144afc;" (assignment_expression "puVar3 = PTR_locale_utf8locale_00144afc" (identifier "puVar3") (= "=") (identifier "PTR_locale_utf8locale_00144afc")) (; ";")) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" (identifier "iVar15") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" (identifier "pcVar16") (= "=") (cast_expression "(char *)(iVar15 + iVar20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + iVar20)" (( "(") (binary_expression "iVar15 + iVar20" (identifier "iVar15") (+ "+") (identifier "iVar20")) () ")")))) (; ";")) (if_statement "if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }\n          else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }" (if "if") (parenthesized_expression "(((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\'))" (( "(") (binary_expression "((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')" (parenthesized_expression "((iVar11 == 0) || (iVar20 < 1))" (( "(") (binary_expression "(iVar11 == 0) || (iVar20 < 1)" (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar20 < 1)" (( "(") (binary_expression "iVar20 < 1" (identifier "iVar20") (< "<") (number_literal "1")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pcVar16[-1] == '\\')" (( "(") (binary_expression "pcVar16[-1] == '\\'" (subscript_expression "pcVar16[-1]" (identifier "pcVar16") ([ "[") (number_literal "-1") (] "]")) (== "==") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            iVar11 = *(int *)puVar7;\n            uVar12 = (uint)*pcVar16;\n            if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }\n            if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }\n          }" ({ "{") (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (expression_statement "uVar12 = (uint)*pcVar16;" (assignment_expression "uVar12 = (uint)*pcVar16" (identifier "uVar12") (= "=") (binary_expression "(uint)*pcVar16" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pcVar16"))) (; ";")) (if_statement "if (iVar20 < iVar11) {\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }" (if "if") (parenthesized_expression "(iVar20 < iVar11)" (( "(") (binary_expression "iVar20 < iVar11" (identifier "iVar20") (< "<") (identifier "iVar11")) () ")")) (compound_statement "{\n              do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);\n            }" ({ "{") (do_statement "do {\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              } while (bVar2);" (do "do") (compound_statement "{\n                puVar3 = PTR_locale_mb_cur_max_00144b00;\n                if (uVar12 == 0) goto LAB_0009fb98;\n                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }\n                if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }\n                uVar12 = (uint)*pcVar16;\n              }" ({ "{") (expression_statement "puVar3 = PTR_locale_mb_cur_max_00144b00;" (assignment_expression "puVar3 = PTR_locale_mb_cur_max_00144b00" (identifier "puVar3") (= "=") (identifier "PTR_locale_mb_cur_max_00144b00")) (; ";")) (if_statement "if (uVar12 == 0) goto LAB_0009fb98;" (if "if") (parenthesized_expression "(uVar12 == 0)" (( "(") (binary_expression "uVar12 == 0" (identifier "uVar12") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009fb98;" (goto "goto") (statement_identifier "LAB_0009fb98") (; ";"))) (if_statement "if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }" (if "if") (parenthesized_expression "((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0)" (( "(") (binary_expression "(*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0" (parenthesized_expression "(*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001)" (( "(") (binary_expression "*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001" (pointer_expression "*(uint *)(puVar21 + (uVar12 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(puVar21 + (uVar12 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + (uVar12 & 0xff) * 4)" (( "(") (binary_expression "puVar21 + (uVar12 & 0xff) * 4" (identifier "puVar21") (+ "+") (binary_expression "(uVar12 & 0xff) * 4" (parenthesized_expression "(uVar12 & 0xff)" (( "(") (binary_expression "uVar12 & 0xff" (identifier "uVar12") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0x2001")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar15 = *(int *)puVar6;\n                  pbVar17 = (byte *)(iVar15 + iVar20);\n                  bVar1 = *pbVar17;\n                  if (bVar1 != 0) goto LAB_0009fdd8;\n                  goto LAB_0009fe78;\n                }" ({ "{") (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" (identifier "iVar15") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (expression_statement "pbVar17 = (byte *)(iVar15 + iVar20);" (assignment_expression "pbVar17 = (byte *)(iVar15 + iVar20)" (identifier "pbVar17") (= "=") (cast_expression "(byte *)(iVar15 + iVar20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + iVar20)" (( "(") (binary_expression "iVar15 + iVar20" (identifier "iVar15") (+ "+") (identifier "iVar20")) () ")")))) (; ";")) (expression_statement "bVar1 = *pbVar17;" (assignment_expression "bVar1 = *pbVar17" (identifier "bVar1") (= "=") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17"))) (; ";")) (if_statement "if (bVar1 != 0) goto LAB_0009fdd8;" (if "if") (parenthesized_expression "(bVar1 != 0)" (( "(") (binary_expression "bVar1 != 0" (identifier "bVar1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009fdd8;" (goto "goto") (statement_identifier "LAB_0009fdd8") (; ";"))) (goto_statement "goto LAB_0009fe78;" (goto "goto") (statement_identifier "LAB_0009fe78") (; ";")) (} "}"))) (if_statement "if (uVar12 == 0x27) {\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }\n                else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }" (if "if") (parenthesized_expression "(uVar12 == 0x27)" (( "(") (binary_expression "uVar12 == 0x27" (identifier "uVar12") (== "==") (number_literal "0x27")) () ")")) (compound_statement "{\n                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\nLAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;\n                  if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                }" ({ "{") (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" (identifier "iVar20") (= "=") (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" (( "(") (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" (* "*") (cast_expression "(code *)PTR_skip_to_delim_00144b10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_skip_to_delim_00144b10"))) () ")")) (argument_list "(iVar15,iVar20 + 1,puVar19,1)" (( "(") (identifier "iVar15") (, ",") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) (, ",") (identifier "puVar19") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" (identifier "iVar15") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (labeled_statement "LAB_0009fc74:\n                  bVar2 = iVar20 < iVar11;" (statement_identifier "LAB_0009fc74") (: ":") (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" (identifier "bVar2") (= "=") (binary_expression "iVar20 < iVar11" (identifier "iVar20") (< "<") (identifier "iVar11"))) (; ";"))) (if_statement "if (bVar2) {\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }\n                  else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\nLAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" ({ "{") (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" (identifier "bVar2") (= "=") (binary_expression "iVar20 < iVar11" (identifier "iVar20") (< "<") (identifier "iVar11"))) (; ";")) (labeled_statement "LAB_0009fc38:\n                    pcVar16 = (char *)(iVar15 + iVar20);" (statement_identifier "LAB_0009fc38") (: ":") (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" (identifier "pcVar16") (= "=") (cast_expression "(char *)(iVar15 + iVar20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + iVar20)" (( "(") (binary_expression "iVar15 + iVar20" (identifier "iVar15") (+ "+") (identifier "iVar20")) () ")")))) (; ";"))) (} "}")) (else_clause "else {\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" (else "else") (compound_statement "{\nLAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);\n                  }" ({ "{") (labeled_statement "LAB_0009fb78:\n                    pcVar16 = (char *)(iVar15 + iVar20);" (statement_identifier "LAB_0009fb78") (: ":") (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" (identifier "pcVar16") (= "=") (cast_expression "(char *)(iVar15 + iVar20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + iVar20)" (( "(") (binary_expression "iVar15 + iVar20" (identifier "iVar15") (+ "+") (identifier "iVar20")) () ")")))) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }" (else "else") (compound_statement "{\n                  if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }\n                  if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }\n                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }\n                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }\n                  local_34 = local_3c;\n                  local_30 = local_38;\n                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);\n                  if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }\n                  local_3c = local_34;\n                  iVar20 = iVar20 + 1;\n                  iVar11 = *(int *)puVar7;\n                  iVar15 = *(int *)puVar6;\n                  local_38 = local_30;\n                  bVar2 = iVar20 < iVar11;\n                  pcVar16 = (char *)(iVar15 + iVar20);\n                }" ({ "{") (if_statement "if (uVar12 == 0x5c) {\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }" (if "if") (parenthesized_expression "(uVar12 == 0x5c)" (( "(") (binary_expression "uVar12 == 0x5c" (identifier "uVar12") (== "==") (number_literal "0x5c")) () ")")) (compound_statement "{\n                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }\n                    goto LAB_0009fc74;\n                  }" ({ "{") (if_statement "if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }\n                    else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }" (if "if") (parenthesized_expression "(*(int *)PTR_locale_mb_cur_max_00144b00 < 2)" (( "(") (binary_expression "*(int *)PTR_locale_mb_cur_max_00144b00 < 2" (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" (* "*") (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_locale_mb_cur_max_00144b00"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0009fd20:\n                      iVar20 = iVar20 + 1;\n                    }" ({ "{") (labeled_statement "LAB_0009fd20:\n                      iVar20 = iVar20 + 1;" (statement_identifier "LAB_0009fd20") (: ":") (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (else_clause "else {\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }" (else "else") (compound_statement "{\n                      iVar14 = 1;\n                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }\n                      iVar20 = iVar14 + iVar20;\n                    }" ({ "{") (expression_statement "iVar14 = 1;" (assignment_expression "iVar14 = 1" (identifier "iVar14") (= "=") (number_literal "1")) (; ";")) (if_statement "if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }" (if "if") (parenthesized_expression "(-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0)" (( "(") (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n                          *(int *)PTR_locale_utf8locale_00144afc == 0" (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3" (number_literal "-1") (< "<") (binary_expression "*(int *)(PTR_is_basic_table_00144b04 + 8) << 3" (pointer_expression "*(int *)(PTR_is_basic_table_00144b04 + 8)" (* "*") (cast_expression "(int *)(PTR_is_basic_table_00144b04 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_is_basic_table_00144b04 + 8)" (( "(") (binary_expression "PTR_is_basic_table_00144b04 + 8" (identifier "PTR_is_basic_table_00144b04") (+ "+") (number_literal "8")) () ")")))) (<< "<<") (number_literal "3"))) (&& "&&") (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" (* "*") (cast_expression "(int *)PTR_locale_utf8locale_00144afc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_locale_utf8locale_00144afc"))) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n                        local_34 = local_3c;\n                        local_30 = local_38;\n                        iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);\n                        if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }\n                        iVar11 = *(int *)puVar7;\n                        iVar15 = *(int *)puVar6;\n                        if (iVar14 == 0) goto LAB_0009fd20;\n                      }" ({ "{") (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" (identifier "local_34") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" (identifier "local_30") (= "=") (identifier "local_38")) (; ";")) (expression_statement "iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar14 = (*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c)" (identifier "iVar14") (= "=") (call_expression "(*(code *)PTR_mbrtowc_00146408)\n                                           (0,pcVar16,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" (( "(") (pointer_expression "*(code *)PTR_mbrtowc_00146408" (* "*") (cast_expression "(code *)PTR_mbrtowc_00146408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mbrtowc_00146408"))) () ")")) (argument_list "(0,pcVar16,iVar10 - iVar20,&local_3c)" (( "(") (number_literal "0") (, ",") (identifier "pcVar16") (, ",") (binary_expression "iVar10 - iVar20" (identifier "iVar10") (- "-") (identifier "iVar20")) (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (if_statement "if (iVar14 + 2U < 2) {\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }" (if "if") (parenthesized_expression "(iVar14 + 2U < 2)" (( "(") (binary_expression "iVar14 + 2U < 2" (binary_expression "iVar14 + 2U" (identifier "iVar14") (+ "+") (number_literal "2U")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n                          local_3c = local_34;\n                          iVar20 = iVar20 + 1;\n                          iVar11 = *(int *)puVar7;\n                          iVar15 = *(int *)puVar6;\n                          local_38 = local_30;\n                          goto LAB_0009fc74;\n                        }" ({ "{") (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" (identifier "local_3c") (= "=") (identifier "local_34")) (; ";")) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" (identifier "iVar15") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" (identifier "local_38") (= "=") (identifier "local_30")) (; ";")) (goto_statement "goto LAB_0009fc74;" (goto "goto") (statement_identifier "LAB_0009fc74") (; ";")) (} "}"))) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" (identifier "iVar15") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (if_statement "if (iVar14 == 0) goto LAB_0009fd20;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009fd20;" (goto "goto") (statement_identifier "LAB_0009fd20") (; ";"))) (} "}"))) (expression_statement "iVar20 = iVar14 + iVar20;" (assignment_expression "iVar20 = iVar14 + iVar20" (identifier "iVar20") (= "=") (binary_expression "iVar14 + iVar20" (identifier "iVar14") (+ "+") (identifier "iVar20"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0009fc74;" (goto "goto") (statement_identifier "LAB_0009fc74") (; ";")) (} "}"))) (if_statement "if (uVar12 == 0x22) {\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }" (if "if") (parenthesized_expression "(uVar12 == 0x22)" (( "(") (binary_expression "uVar12 == 0x22" (identifier "uVar12") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    goto LAB_0009fc74;\n                  }" ({ "{") (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" (identifier "iVar20") (= "=") (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" (( "(") (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" (* "*") (cast_expression "(code *)PTR_skip_to_delim_00144b10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_skip_to_delim_00144b10"))) () ")")) (argument_list "(iVar15,iVar20 + 1,puVar18,1)" (( "(") (identifier "iVar15") (, ",") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) (, ",") (identifier "puVar18") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" (identifier "iVar15") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (goto_statement "goto LAB_0009fc74;" (goto "goto") (statement_identifier "LAB_0009fc74") (; ";")) (} "}"))) (if_statement "if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }" (if "if") (parenthesized_expression "(*(int *)PTR_locale_mb_cur_max_00144b00 < 2)" (( "(") (binary_expression "*(int *)PTR_locale_mb_cur_max_00144b00 < 2" (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" (* "*") (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_locale_mb_cur_max_00144b00"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0009fc30:\n                    iVar20 = iVar20 + 1;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fc38;\n                  }" ({ "{") (labeled_statement "LAB_0009fc30:\n                    iVar20 = iVar20 + 1;" (statement_identifier "LAB_0009fc30") (: ":") (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" (identifier "bVar2") (= "=") (binary_expression "iVar20 < iVar11" (identifier "iVar20") (< "<") (identifier "iVar11"))) (; ";")) (goto_statement "goto LAB_0009fc38;" (goto "goto") (statement_identifier "LAB_0009fc38") (; ";")) (} "}"))) (if_statement "if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }" (if "if") (parenthesized_expression "(((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12))))" (( "(") (binary_expression "((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0) ||\n                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))" (parenthesized_expression "((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0)" (( "(") (binary_expression "(*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f) & 1" (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>\n                        (uVar12 & 0x1f)" (pointer_expression "*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4)" (* "*") (cast_expression "(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4)" (( "(") (binary_expression "PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4" (identifier "PTR_is_basic_table_00144b04") (+ "+") (binary_expression "((uVar12 & 0xff) >> 5) * 4" (parenthesized_expression "((uVar12 & 0xff) >> 5)" (( "(") (binary_expression "(uVar12 & 0xff) >> 5" (parenthesized_expression "(uVar12 & 0xff)" (( "(") (binary_expression "uVar12 & 0xff" (identifier "uVar12") (& "&") (number_literal "0xff")) () ")")) (>> ">>") (number_literal "5")) () ")")) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(uVar12 & 0x1f)" (( "(") (binary_expression "uVar12 & 0x1f" (identifier "uVar12") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))" (( "(") (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12))" (( "(") (binary_expression "*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)" (binary_expression "*(int *)PTR_locale_utf8locale_00144afc != 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" (* "*") (cast_expression "(int *)PTR_locale_utf8locale_00144afc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_locale_utf8locale_00144afc"))) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(-1 < (int)uVar12)" (( "(") (binary_expression "-1 < (int)uVar12" (number_literal "-1") (< "<") (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    iVar14 = 1;\nLAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;\n                    bVar2 = iVar20 < iVar11;\n                    goto LAB_0009fb78;\n                  }" ({ "{") (expression_statement "iVar14 = 1;" (assignment_expression "iVar14 = 1" (identifier "iVar14") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0009fb70:\n                    iVar20 = iVar14 + iVar20;" (statement_identifier "LAB_0009fb70") (: ":") (expression_statement "iVar20 = iVar14 + iVar20;" (assignment_expression "iVar20 = iVar14 + iVar20" (identifier "iVar20") (= "=") (binary_expression "iVar14 + iVar20" (identifier "iVar14") (+ "+") (identifier "iVar20"))) (; ";"))) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" (identifier "bVar2") (= "=") (binary_expression "iVar20 < iVar11" (identifier "iVar20") (< "<") (identifier "iVar11"))) (; ";")) (goto_statement "goto LAB_0009fb78;" (goto "goto") (statement_identifier "LAB_0009fb78") (; ";")) (} "}"))) (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" (identifier "local_34") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" (identifier "local_30") (= "=") (identifier "local_38")) (; ";")) (expression_statement "iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c)" (identifier "iVar14") (= "=") (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" (( "(") (pointer_expression "*(code *)PTR_mbrtowc_00146408" (* "*") (cast_expression "(code *)PTR_mbrtowc_00146408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mbrtowc_00146408"))) () ")")) (argument_list "(0,pcVar16,iVar10 - iVar20,&local_3c)" (( "(") (number_literal "0") (, ",") (identifier "pcVar16") (, ",") (binary_expression "iVar10 - iVar20" (identifier "iVar10") (- "-") (identifier "iVar20")) (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (if_statement "if (1 < iVar14 + 2U) {\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }" (if "if") (parenthesized_expression "(1 < iVar14 + 2U)" (( "(") (binary_expression "1 < iVar14 + 2U" (number_literal "1") (< "<") (binary_expression "iVar14 + 2U" (identifier "iVar14") (+ "+") (number_literal "2U"))) () ")")) (compound_statement "{\n                    iVar11 = *(int *)puVar7;\n                    iVar15 = *(int *)puVar6;\n                    if (iVar14 == 0) goto LAB_0009fc30;\n                    goto LAB_0009fb70;\n                  }" ({ "{") (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" (identifier "iVar15") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (if_statement "if (iVar14 == 0) goto LAB_0009fc30;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009fc30;" (goto "goto") (statement_identifier "LAB_0009fc30") (; ";"))) (goto_statement "goto LAB_0009fb70;" (goto "goto") (statement_identifier "LAB_0009fb70") (; ";")) (} "}"))) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" (identifier "local_3c") (= "=") (identifier "local_34")) (; ";")) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" (identifier "iVar15") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" (identifier "local_38") (= "=") (identifier "local_30")) (; ";")) (expression_statement "bVar2 = iVar20 < iVar11;" (assignment_expression "bVar2 = iVar20 < iVar11" (identifier "bVar2") (= "=") (binary_expression "iVar20 < iVar11" (identifier "iVar20") (< "<") (identifier "iVar11"))) (; ";")) (expression_statement "pcVar16 = (char *)(iVar15 + iVar20);" (assignment_expression "pcVar16 = (char *)(iVar15 + iVar20)" (identifier "pcVar16") (= "=") (cast_expression "(char *)(iVar15 + iVar20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + iVar20)" (( "(") (binary_expression "iVar15 + iVar20" (identifier "iVar15") (+ "+") (identifier "iVar20")) () ")")))) (; ";")) (} "}")))) (expression_statement "uVar12 = (uint)*pcVar16;" (assignment_expression "uVar12 = (uint)*pcVar16" (identifier "uVar12") (= "=") (binary_expression "(uint)*pcVar16" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pcVar16"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (; ";")) (} "}"))) (if_statement "if ((uVar12 == 0) || (iVar20 == iVar11)) {\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }" (if "if") (parenthesized_expression "((uVar12 == 0) || (iVar20 == iVar11))" (( "(") (binary_expression "(uVar12 == 0) || (iVar20 == iVar11)" (parenthesized_expression "(uVar12 == 0)" (( "(") (binary_expression "uVar12 == 0" (identifier "uVar12") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar20 == iVar11)" (( "(") (binary_expression "iVar20 == iVar11" (identifier "iVar20") (== "==") (identifier "iVar11")) () ")"))) () ")")) (compound_statement "{\nLAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;\n              *(int *)puVar8 = iVar11;\n              (*(code *)puVar21)();\n              uVar13 = 0;\n              goto LAB_0009fbac;\n            }" ({ "{") (labeled_statement "LAB_0009fb98:\n              puVar21 = PTR_rl_ding_00145634;" (statement_identifier "LAB_0009fb98") (: ":") (expression_statement "puVar21 = PTR_rl_ding_00145634;" (assignment_expression "puVar21 = PTR_rl_ding_00145634" (identifier "puVar21") (= "=") (identifier "PTR_rl_ding_00145634")) (; ";"))) (expression_statement "*(int *)puVar8 = iVar11;" (assignment_expression "*(int *)puVar8 = iVar11" (pointer_expression "*(int *)puVar8" (* "*") (cast_expression "(int *)puVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8"))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "(*(code *)puVar21)();" (call_expression "(*(code *)puVar21)()" (parenthesized_expression "(*(code *)puVar21)" (( "(") (pointer_expression "*(code *)puVar21" (* "*") (cast_expression "(code *)puVar21" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar21"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0009fbac;" (goto "goto") (statement_identifier "LAB_0009fbac") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }" (else "else") (compound_statement "{\n            do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));\n          }" ({ "{") (do_statement "do {\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            } while ((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0));" (do "do") (compound_statement "{\n              if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }\nLAB_0009fa8c:\n            }" ({ "{") (if_statement "if (*(int *)puVar4 < 2) {\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }\n              else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }" (if "if") (parenthesized_expression "(*(int *)puVar4 < 2)" (( "(") (binary_expression "*(int *)puVar4 < 2" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0009fa88:\n                iVar20 = iVar20 + 1;\n              }" ({ "{") (labeled_statement "LAB_0009fa88:\n                iVar20 = iVar20 + 1;" (statement_identifier "LAB_0009fa88") (: ":") (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (else_clause "else {\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }" (else "else") (compound_statement "{\n                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);\n                uVar12 = 1;\n                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }\n                iVar20 = iVar20 + uVar12;\n              }" ({ "{") (expression_statement "bVar1 = *(byte *)(*(int *)puVar6 + iVar20);" (assignment_expression "bVar1 = *(byte *)(*(int *)puVar6 + iVar20)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(*(int *)puVar6 + iVar20)" (* "*") (cast_expression "(byte *)(*(int *)puVar6 + iVar20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar6 + iVar20)" (( "(") (binary_expression "*(int *)puVar6 + iVar20" (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (+ "+") (identifier "iVar20")) () ")"))))) (; ";")) (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" (identifier "uVar12") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }" (if "if") (parenthesized_expression "((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" (( "(") (binary_expression "(*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4)" (* "*") (cast_expression "(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + (uint)(bVar1 >> 5) * 4)" (( "(") (binary_expression "puVar5 + (uint)(bVar1 >> 5) * 4" (identifier "puVar5") (+ "+") (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(bVar1 >> 5)" (( "(") (binary_expression "bVar1 >> 5" (identifier "bVar1") (>> ">>") (number_literal "5")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(bVar1 & 0x1f)" (( "(") (binary_expression "bVar1 & 0x1f" (identifier "bVar1") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }\nLAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;\n                }" ({ "{") (if_statement "if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }" (if "if") (parenthesized_expression "((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0'))" (( "(") (binary_expression "(*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')" (parenthesized_expression "(*(int *)puVar3 == 0)" (( "(") (binary_expression "*(int *)puVar3 == 0" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')" (( "(") (comma_expression "uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0'" (assignment_expression "uVar12 = (uint)(bVar1 != 0)" (identifier "uVar12") (= "=") (call_expression "(uint)(bVar1 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(bVar1 != 0)" (( "(") (binary_expression "bVar1 != 0" (identifier "bVar1") (!= "!=") (number_literal "0")) () ")")))) (, ",") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n                    local_34 = local_3c;\n                    local_30 = local_38;\n                    uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);\n                    if (1 < uVar12 + 2) goto LAB_0009fa80;\n                    local_3c = local_34;\n                    iVar20 = iVar20 + 1;\n                    local_38 = local_30;\n                    goto LAB_0009fa8c;\n                  }" ({ "{") (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" (identifier "local_34") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" (identifier "local_30") (= "=") (identifier "local_38")) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c);" (assignment_expression "uVar12 = (*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_mbrtowc_00146408)\n                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" (( "(") (pointer_expression "*(code *)PTR_mbrtowc_00146408" (* "*") (cast_expression "(code *)PTR_mbrtowc_00146408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mbrtowc_00146408"))) () ")")) (argument_list "(0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,\n                                        &local_3c)" (( "(") (number_literal "0") (, ",") (cast_expression "(byte *)(*(int *)puVar6 + iVar20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar6 + iVar20)" (( "(") (binary_expression "*(int *)puVar6 + iVar20" (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (+ "+") (identifier "iVar20")) () ")"))) (, ",") (binary_expression "iVar10 - iVar20" (identifier "iVar10") (- "-") (identifier "iVar20")) (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (if_statement "if (1 < uVar12 + 2) goto LAB_0009fa80;" (if "if") (parenthesized_expression "(1 < uVar12 + 2)" (( "(") (binary_expression "1 < uVar12 + 2" (number_literal "1") (< "<") (binary_expression "uVar12 + 2" (identifier "uVar12") (+ "+") (number_literal "2"))) () ")")) (goto_statement "goto LAB_0009fa80;" (goto "goto") (statement_identifier "LAB_0009fa80") (; ";"))) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" (identifier "local_3c") (= "=") (identifier "local_34")) (; ";")) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" (identifier "local_38") (= "=") (identifier "local_30")) (; ";")) (goto_statement "goto LAB_0009fa8c;" (goto "goto") (statement_identifier "LAB_0009fa8c") (; ";")) (} "}"))) (labeled_statement "LAB_0009fa80:\n                  if (uVar12 == 0) goto LAB_0009fa88;" (statement_identifier "LAB_0009fa80") (: ":") (if_statement "if (uVar12 == 0) goto LAB_0009fa88;" (if "if") (parenthesized_expression "(uVar12 == 0)" (( "(") (binary_expression "uVar12 == 0" (identifier "uVar12") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009fa88;" (goto "goto") (statement_identifier "LAB_0009fa88") (; ";")))) (} "}"))) (expression_statement "iVar20 = iVar20 + uVar12;" (assignment_expression "iVar20 = iVar20 + uVar12" (identifier "iVar20") (= "=") (binary_expression "iVar20 + uVar12" (identifier "iVar20") (+ "+") (identifier "uVar12"))) (; ";")) (} "}")))) (labeled_statement "LAB_0009fa8c:" (statement_identifier "LAB_0009fa8c") (: ":") (expression_statement "" (; ""))) (} "}")) (while "while") (parenthesized_expression "((iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0))" (( "(") (binary_expression "(iVar20 < *(int *)puVar7) &&\n                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0)" (parenthesized_expression "(iVar20 < *(int *)puVar7)" (( "(") (binary_expression "iVar20 < *(int *)puVar7" (identifier "iVar20") (< "<") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) () ")")) (&& "&&") (parenthesized_expression "(iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0)" (( "(") (comma_expression "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),\n                    iVar11 != 0" (assignment_expression "iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20)" (parenthesized_expression "(*(code *)PTR_char_is_quoted_00145630)" (( "(") (pointer_expression "*(code *)PTR_char_is_quoted_00145630" (* "*") (cast_expression "(code *)PTR_char_is_quoted_00145630" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_char_is_quoted_00145630"))) () ")")) (argument_list "(*(undefined4 *)puVar6,iVar20)" (( "(") (pointer_expression "*(undefined4 *)puVar6" (* "*") (cast_expression "(undefined4 *)puVar6" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (, ",") (identifier "iVar20") () ")")))) (, ",") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_0009fab0:\n          if (param_1 == 0) goto LAB_0009ff1c;" (statement_identifier "LAB_0009fab0") (: ":") (if_statement "if (param_1 == 0) goto LAB_0009ff1c;" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009ff1c;" (goto "goto") (statement_identifier "LAB_0009ff1c") (; ";")))) (labeled_statement "LAB_0009fab8:\n          param_1 = param_1 + -1;" (statement_identifier "LAB_0009fab8") (: ":") (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" (identifier "param_1") (= "=") (binary_expression "param_1 + -1" (identifier "param_1") (+ "+") (number_literal "-1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(*(int *)puVar7 != iVar20)" (( "(") (binary_expression "*(int *)puVar7 != iVar20" (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) (!= "!=") (identifier "iVar20")) () ")")) (; ";")) (} "}"))) (expression_statement "*(int *)puVar8 = iVar20;" (assignment_expression "*(int *)puVar8 = iVar20" (pointer_expression "*(int *)puVar8" (* "*") (cast_expression "(int *)puVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8"))) (= "=") (identifier "iVar20")) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_0009fbac:\n  if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }" (statement_identifier "LAB_0009fbac") (: ":") (if_statement "if (local_2c == *(int *)puVar9) {\n    return uVar13;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar9)" (( "(") (binary_expression "local_2c == *(int *)puVar9" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar9" (* "*") (cast_expression "(int *)puVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9")))) () ")")) (compound_statement "{\n    return uVar13;\n  }" ({ "{") (return_statement "return uVar13;" (return "return") (identifier "uVar13") (; ";")) (} "}")))) (expression_statement "puVar21 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar21 = PTR___stack_chk_fail_00146488" (identifier "puVar21") (= "=") (identifier "PTR___stack_chk_fail_00146488")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00146488" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00146488"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (**(int **)(puVar21 + 0xa456c) == 0) {\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }" (if "if") (parenthesized_expression "(**(int **)(puVar21 + 0xa456c) == 0)" (( "(") (binary_expression "**(int **)(puVar21 + 0xa456c) == 0" (pointer_expression "**(int **)(puVar21 + 0xa456c)" (* "*") (pointer_expression "*(int **)(puVar21 + 0xa456c)" (* "*") (cast_expression "(int **)(puVar21 + 0xa456c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0xa456c)" (( "(") (binary_expression "puVar21 + 0xa456c" (identifier "puVar21") (+ "+") (number_literal "0xa456c")) () ")"))))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar13 = FUN_0009a73c();\n    return uVar13;\n  }" ({ "{") (expression_statement "uVar13 = FUN_0009a73c();" (assignment_expression "uVar13 = FUN_0009a73c()" (identifier "uVar13") (= "=") (call_expression "FUN_0009a73c()" (identifier "FUN_0009a73c") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar13;" (return "return") (identifier "uVar13") (; ";")) (} "}"))) (expression_statement "uVar13 = FUN_0009a73c();" (assignment_expression "uVar13 = FUN_0009a73c()" (identifier "uVar13") (= "=") (call_expression "FUN_0009a73c()" (identifier "FUN_0009a73c") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar13;" (return "return") (identifier "uVar13") (; ";")) (labeled_statement "LAB_0009fdd8:\n  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;" (statement_identifier "LAB_0009fdd8") (: ":") (if_statement "if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;" (if "if") (parenthesized_expression "((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0)" (( "(") (binary_expression "(*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0" (parenthesized_expression "(*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001)" (( "(") (binary_expression "*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001" (pointer_expression "*(uint *)(puVar21 + (uint)bVar1 * 4)" (* "*") (cast_expression "(uint *)(puVar21 + (uint)bVar1 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + (uint)bVar1 * 4)" (( "(") (binary_expression "puVar21 + (uint)bVar1 * 4" (identifier "puVar21") (+ "+") (binary_expression "(uint)bVar1 * 4" (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0x2001")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009fab0;" (goto "goto") (statement_identifier "LAB_0009fab0") (; ";")))) (if_statement "if (bVar1 == 0x27) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }" (if "if") (parenthesized_expression "(bVar1 == 0x27)" (( "(") (binary_expression "bVar1 == 0x27" (identifier "bVar1") (== "==") (number_literal "0x27")) () ")")) (compound_statement "{\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);\n    iVar11 = *(int *)puVar7;\nLAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }\nLAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;\n    if (param_1 != 0) goto LAB_0009fab8;\n    goto LAB_0009ff1c;\n  }" ({ "{") (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" (identifier "iVar20") (= "=") (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" (( "(") (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" (* "*") (cast_expression "(code *)PTR_skip_to_delim_00144b10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_skip_to_delim_00144b10"))) () ")")) (argument_list "(iVar15,iVar20 + 1,puVar19,1)" (( "(") (identifier "iVar15") (, ",") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) (, ",") (identifier "puVar19") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (labeled_statement "LAB_0009fee8:\n    if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }" (statement_identifier "LAB_0009fee8") (: ":") (if_statement "if (iVar20 < iVar11) {\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }" (if "if") (parenthesized_expression "(iVar20 < iVar11)" (( "(") (binary_expression "iVar20 < iVar11" (identifier "iVar20") (< "<") (identifier "iVar11")) () ")")) (compound_statement "{\nLAB_0009fec4:\n      iVar20 = iVar20 + 1;\n      goto LAB_0009fe54;\n    }" ({ "{") (labeled_statement "LAB_0009fec4:\n      iVar20 = iVar20 + 1;" (statement_identifier "LAB_0009fec4") (: ":") (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";"))) (goto_statement "goto LAB_0009fe54;" (goto "goto") (statement_identifier "LAB_0009fe54") (; ";")) (} "}")))) (labeled_statement "LAB_0009fef4:\n    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;" (statement_identifier "LAB_0009fef4") (: ":") (if_statement "if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;" (if "if") (parenthesized_expression "((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0'))" (( "(") (binary_expression "(iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')" (parenthesized_expression "(iVar11 == iVar20)" (( "(") (binary_expression "iVar11 == iVar20" (identifier "iVar11") (== "==") (identifier "iVar20")) () ")")) (|| "||") (parenthesized_expression "(*(char *)(*(int *)puVar6 + iVar20) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)puVar6 + iVar20) == '\0'" (pointer_expression "*(char *)(*(int *)puVar6 + iVar20)" (* "*") (cast_expression "(char *)(*(int *)puVar6 + iVar20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar6 + iVar20)" (( "(") (binary_expression "*(int *)puVar6 + iVar20" (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (+ "+") (identifier "iVar20")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_0009fe78;" (goto "goto") (statement_identifier "LAB_0009fe78") (; ";")))) (if_statement "if (param_1 != 0) goto LAB_0009fab8;" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009fab8;" (goto "goto") (statement_identifier "LAB_0009fab8") (; ";"))) (goto_statement "goto LAB_0009ff1c;" (goto "goto") (statement_identifier "LAB_0009ff1c") (; ";")) (} "}"))) (if_statement "if (bVar1 == 0x5c) {\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }" (if "if") (parenthesized_expression "(bVar1 == 0x5c)" (( "(") (binary_expression "bVar1 == 0x5c" (identifier "bVar1") (== "==") (number_literal "0x5c")) () ")")) (compound_statement "{\n    if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }\n    goto LAB_0009fee8;\n  }" ({ "{") (if_statement "if (*(int *)puVar3 < 2) {\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }\n    else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }" (if "if") (parenthesized_expression "(*(int *)puVar3 < 2)" (( "(") (binary_expression "*(int *)puVar3 < 2" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0009ffc0:\n      iVar20 = iVar20 + 1;\n    }" ({ "{") (labeled_statement "LAB_0009ffc0:\n      iVar20 = iVar20 + 1;" (statement_identifier "LAB_0009ffc0") (: ":") (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (else_clause "else {\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }" (else "else") (compound_statement "{\n      iVar15 = 1;\n      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }\n      iVar20 = iVar20 + iVar15;\n    }" ({ "{") (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" (identifier "iVar15") (= "=") (number_literal "1")) (; ";")) (if_statement "if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0) {\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }" (if "if") (parenthesized_expression "(-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0)" (( "(") (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&\n          *(int *)PTR_locale_utf8locale_00144afc == 0" (binary_expression "-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3" (number_literal "-1") (< "<") (binary_expression "*(int *)(PTR_is_basic_table_00144b04 + 8) << 3" (pointer_expression "*(int *)(PTR_is_basic_table_00144b04 + 8)" (* "*") (cast_expression "(int *)(PTR_is_basic_table_00144b04 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_is_basic_table_00144b04 + 8)" (( "(") (binary_expression "PTR_is_basic_table_00144b04 + 8" (identifier "PTR_is_basic_table_00144b04") (+ "+") (number_literal "8")) () ")")))) (<< "<<") (number_literal "3"))) (&& "&&") (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" (* "*") (cast_expression "(int *)PTR_locale_utf8locale_00144afc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_locale_utf8locale_00144afc"))) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n        local_34 = local_3c;\n        local_30 = local_38;\n        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n        if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }\n        iVar11 = *(int *)puVar7;\n        if (iVar15 == 0) goto LAB_0009ffc0;\n      }" ({ "{") (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" (identifier "local_34") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" (identifier "local_30") (= "=") (identifier "local_38")) (; ";")) (expression_statement "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" (( "(") (pointer_expression "*(code *)PTR_mbrtowc_00146408" (* "*") (cast_expression "(code *)PTR_mbrtowc_00146408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mbrtowc_00146408"))) () ")")) (argument_list "(0,pbVar17,iVar10 - iVar20,&local_3c)" (( "(") (number_literal "0") (, ",") (identifier "pbVar17") (, ",") (binary_expression "iVar10 - iVar20" (identifier "iVar10") (- "-") (identifier "iVar20")) (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (if_statement "if (iVar15 + 2U < 2) {\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }" (if "if") (parenthesized_expression "(iVar15 + 2U < 2)" (( "(") (binary_expression "iVar15 + 2U < 2" (binary_expression "iVar15 + 2U" (identifier "iVar15") (+ "+") (number_literal "2U")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          local_3c = local_34;\n          iVar20 = iVar20 + 1;\n          iVar11 = *(int *)puVar7;\n          local_38 = local_30;\n          goto LAB_0009fee8;\n        }" ({ "{") (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" (identifier "local_3c") (= "=") (identifier "local_34")) (; ";")) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" (identifier "local_38") (= "=") (identifier "local_30")) (; ";")) (goto_statement "goto LAB_0009fee8;" (goto "goto") (statement_identifier "LAB_0009fee8") (; ";")) (} "}"))) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (if_statement "if (iVar15 == 0) goto LAB_0009ffc0;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009ffc0;" (goto "goto") (statement_identifier "LAB_0009ffc0") (; ";"))) (} "}"))) (expression_statement "iVar20 = iVar20 + iVar15;" (assignment_expression "iVar20 = iVar20 + iVar15" (identifier "iVar20") (= "=") (binary_expression "iVar20 + iVar15" (identifier "iVar20") (+ "+") (identifier "iVar15"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0009fee8;" (goto "goto") (statement_identifier "LAB_0009fee8") (; ";")) (} "}"))) (if_statement "if (bVar1 == 0x22) {\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }" (if "if") (parenthesized_expression "(bVar1 == 0x22)" (( "(") (binary_expression "bVar1 == 0x22" (identifier "bVar1") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);\n    iVar11 = *(int *)puVar7;\n    goto LAB_0009fee8;\n  }" ({ "{") (expression_statement "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);" (assignment_expression "iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" (identifier "iVar20") (= "=") (call_expression "(*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1)" (parenthesized_expression "(*(code *)PTR_skip_to_delim_00144b10)" (( "(") (pointer_expression "*(code *)PTR_skip_to_delim_00144b10" (* "*") (cast_expression "(code *)PTR_skip_to_delim_00144b10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_skip_to_delim_00144b10"))) () ")")) (argument_list "(iVar15,iVar20 + 1,puVar18,1)" (( "(") (identifier "iVar15") (, ",") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) (, ",") (identifier "puVar18") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (goto_statement "goto LAB_0009fee8;" (goto "goto") (statement_identifier "LAB_0009fee8") (; ";")) (} "}"))) (if_statement "if (*(int *)puVar3 < 2) goto LAB_0009fec4;" (if "if") (parenthesized_expression "(*(int *)puVar3 < 2)" (( "(") (binary_expression "*(int *)puVar3 < 2" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_0009fec4;" (goto "goto") (statement_identifier "LAB_0009fec4") (; ";"))) (if_statement "if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }\n  else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }" (if "if") (parenthesized_expression "(((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0'))))" (( "(") (binary_expression "((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)\n     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))" (parenthesized_expression "((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" (( "(") (binary_expression "(*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" (* "*") (cast_expression "(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4)" (( "(") (binary_expression "PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4" (identifier "PTR_is_basic_table_00144b04") (+ "+") (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(bVar1 >> 5)" (( "(") (binary_expression "bVar1 >> 5" (identifier "bVar1") (>> ">>") (number_literal "5")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(bVar1 & 0x1f)" (( "(") (binary_expression "bVar1 & 0x1f" (identifier "bVar1") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))" (( "(") (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0'))" (( "(") (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')" (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" (* "*") (cast_expression "(int *)PTR_locale_utf8locale_00144afc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_locale_utf8locale_00144afc"))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    local_34 = local_3c;\n    local_30 = local_38;\n    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);\n    if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }\n    local_3c = local_34;\n    iVar20 = iVar20 + 1;\n    iVar11 = *(int *)puVar7;\n    local_38 = local_30;\n  }" ({ "{") (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" (identifier "local_34") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "local_30 = local_38;" (assignment_expression "local_30 = local_38" (identifier "local_30") (= "=") (identifier "local_38")) (; ";")) (expression_statement "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);" (assignment_expression "iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" (( "(") (pointer_expression "*(code *)PTR_mbrtowc_00146408" (* "*") (cast_expression "(code *)PTR_mbrtowc_00146408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mbrtowc_00146408"))) () ")")) (argument_list "(0,pbVar17,iVar10 - iVar20,&local_3c)" (( "(") (number_literal "0") (, ",") (identifier "pbVar17") (, ",") (binary_expression "iVar10 - iVar20" (identifier "iVar10") (- "-") (identifier "iVar20")) (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (if_statement "if (1 < iVar15 + 2U) {\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }" (if "if") (parenthesized_expression "(1 < iVar15 + 2U)" (( "(") (binary_expression "1 < iVar15 + 2U" (number_literal "1") (< "<") (binary_expression "iVar15 + 2U" (identifier "iVar15") (+ "+") (number_literal "2U"))) () ")")) (compound_statement "{\n      iVar11 = *(int *)puVar7;\n      if (iVar15 == 0) goto LAB_0009fec4;\n      goto LAB_0009fe50;\n    }" ({ "{") (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (if_statement "if (iVar15 == 0) goto LAB_0009fec4;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009fec4;" (goto "goto") (statement_identifier "LAB_0009fec4") (; ";"))) (goto_statement "goto LAB_0009fe50;" (goto "goto") (statement_identifier "LAB_0009fe50") (; ";")) (} "}"))) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" (identifier "local_3c") (= "=") (identifier "local_34")) (; ";")) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = *(int *)puVar7;" (assignment_expression "iVar11 = *(int *)puVar7" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (; ";")) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" (identifier "local_38") (= "=") (identifier "local_30")) (; ";")) (} "}")) (else_clause "else {\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }" (else "else") (compound_statement "{\n    iVar15 = 1;\nLAB_0009fe50:\n    iVar20 = iVar20 + iVar15;\n  }" ({ "{") (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" (identifier "iVar15") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0009fe50:\n    iVar20 = iVar20 + iVar15;" (statement_identifier "LAB_0009fe50") (: ":") (expression_statement "iVar20 = iVar20 + iVar15;" (assignment_expression "iVar20 = iVar20 + iVar15" (identifier "iVar20") (= "=") (binary_expression "iVar20 + iVar15" (identifier "iVar20") (+ "+") (identifier "iVar15"))) (; ";"))) (} "}")))) (labeled_statement "LAB_0009fe54:\n  if (iVar11 <= iVar20) goto LAB_0009fef4;" (statement_identifier "LAB_0009fe54") (: ":") (if_statement "if (iVar11 <= iVar20) goto LAB_0009fef4;" (if "if") (parenthesized_expression "(iVar11 <= iVar20)" (( "(") (binary_expression "iVar11 <= iVar20" (identifier "iVar11") (<= "<=") (identifier "iVar20")) () ")")) (goto_statement "goto LAB_0009fef4;" (goto "goto") (statement_identifier "LAB_0009fef4") (; ";")))) (expression_statement "iVar15 = *(int *)puVar6;" (assignment_expression "iVar15 = *(int *)puVar6" (identifier "iVar15") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (expression_statement "pbVar17 = (byte *)(iVar15 + iVar20);" (assignment_expression "pbVar17 = (byte *)(iVar15 + iVar20)" (identifier "pbVar17") (= "=") (cast_expression "(byte *)(iVar15 + iVar20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + iVar20)" (( "(") (binary_expression "iVar15 + iVar20" (identifier "iVar15") (+ "+") (identifier "iVar20")) () ")")))) (; ";")) (expression_statement "bVar1 = *pbVar17;" (assignment_expression "bVar1 = *pbVar17" (identifier "bVar1") (= "=") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17"))) (; ";")) (if_statement "if (bVar1 == 0) goto LAB_0009fe78;" (if "if") (parenthesized_expression "(bVar1 == 0)" (( "(") (binary_expression "bVar1 == 0" (identifier "bVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009fe78;" (goto "goto") (statement_identifier "LAB_0009fe78") (; ";"))) (goto_statement "goto LAB_0009fdd8;" (goto "goto") (statement_identifier "LAB_0009fdd8") (; ";")) (labeled_statement "LAB_0009fe78:\n  *(int *)puVar8 = iVar11;" (statement_identifier "LAB_0009fe78") (: ":") (expression_statement "*(int *)puVar8 = iVar11;" (assignment_expression "*(int *)puVar8 = iVar11" (pointer_expression "*(int *)puVar8" (* "*") (cast_expression "(int *)puVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8"))) (= "=") (identifier "iVar11")) (; ";"))) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0009fbac;" (goto "goto") (statement_identifier "LAB_0009fbac") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (unary_expression argument: (identifier))))))) alternative: (else_clause (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (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: (identifier))) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier)))))) (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 (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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)) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (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: (identifier)))) (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: (identifier)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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) (binary_expression left: (identifier) right: (identifier)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (binary_expression left: (identifier) right: (identifier))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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)) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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) (binary_expression left: (identifier) right: (identifier)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) condition: (parenthesized_expression (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (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))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))) (binary_expression left: (identifier) right: (identifier)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (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))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (MISSING ";")))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) 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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (return_statement (identifier)) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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)) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))))) right: (char_literal (escape_sequence)))))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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) (binary_expression left: (identifier) right: (identifier)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (binary_expression left: (identifier) right: (identifier))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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)) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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) (binary_expression left: (identifier) right: (identifier)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))

undefined4 MASKED(int param_1)

{
  byte bVar1;
  bool bVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined *puVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  undefined4 uVar13;
  int iVar14;
  int iVar15;
  char *pcVar16;
  byte *pbVar17;
  undefined *puVar18;
  undefined *puVar19;
  int iVar20;
  undefined *puVar21;
  undefined4 local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined4 local_30;
  int local_2c;
  
  puVar9 = PTR___stack_chk_guard_001464dc;
  puVar8 = PTR_rl_point_0014555c;
  puVar7 = PTR_rl_end_00145558;
  puVar6 = PTR_rl_line_buffer_00145548;
  puVar21 = PTR_sh_syntaxtab_00144988;
  local_3c = 0;
  local_38 = 0;
  local_2c = *(int *)PTR___stack_chk_guard_001464dc;
  if (param_1 < 0) {
    uVar13 = FUN_0009f610(-param_1);
  }
  else {
    iVar20 = *(int *)PTR_rl_point_0014555c;
    iVar10 = *(int *)PTR_rl_end_00145558;
    if (param_1 == 0) {
LAB_0009ff1c:
      uVar13 = 0;
      *(int *)puVar8 = iVar20;
    }
    else {
      if (iVar10 != iVar20) {
        param_1 = param_1 + -1;
        puVar19 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6ee0;
        puVar18 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x6de0;
        do {
          iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20);
          puVar5 = PTR_is_basic_table_00144b04;
          puVar4 = PTR_locale_mb_cur_max_00144b00;
          puVar3 = PTR_locale_utf8locale_00144afc;
          iVar15 = *(int *)puVar6;
          pcVar16 = (char *)(iVar15 + iVar20);
          if (((iVar11 == 0) || (iVar20 < 1)) || (pcVar16[-1] == '\\')) {
            iVar11 = *(int *)puVar7;
            uVar12 = (uint)*pcVar16;
            if (iVar20 < iVar11) {
              do {
                puVar3 = PTR_locale_mb_cur_max_00144b00;
                if (uVar12 == 0) goto LAB_0009fb98;
                if ((*(uint *)(puVar21 + (uVar12 & 0xff) * 4) & 0x2001) == 0) {
                  iVar15 = *(int *)puVar6;
                  pbVar17 = (byte *)(iVar15 + iVar20);
                  bVar1 = *pbVar17;
                  if (bVar1 != 0) goto LAB_0009fdd8;
                  goto LAB_0009fe78;
                }
                if (uVar12 == 0x27) {
                  iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);
                  iVar11 = *(int *)puVar7;
                  iVar15 = *(int *)puVar6;
LAB_0009fc74:
                  bVar2 = iVar20 < iVar11;
                  if (bVar2) {
                    iVar20 = iVar20 + 1;
                    bVar2 = iVar20 < iVar11;
LAB_0009fc38:
                    pcVar16 = (char *)(iVar15 + iVar20);
                  }
                  else {
LAB_0009fb78:
                    pcVar16 = (char *)(iVar15 + iVar20);
                  }
                }
                else {
                  if (uVar12 == 0x5c) {
                    if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {
LAB_0009fd20:
                      iVar20 = iVar20 + 1;
                    }
                    else {
                      iVar14 = 1;
                      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&
                          *(int *)PTR_locale_utf8locale_00144afc == 0) {
                        local_34 = local_3c;
                        local_30 = local_38;
                        iVar14 = (*(code *)PTR_mbrtowc_00146408)
                                           (0,pcVar16,iVar10 - iVar20,&local_3c);
                        if (iVar14 + 2U < 2) {
                          local_3c = local_34;
                          iVar20 = iVar20 + 1;
                          iVar11 = *(int *)puVar7;
                          iVar15 = *(int *)puVar6;
                          local_38 = local_30;
                          goto LAB_0009fc74;
                        }
                        iVar11 = *(int *)puVar7;
                        iVar15 = *(int *)puVar6;
                        if (iVar14 == 0) goto LAB_0009fd20;
                      }
                      iVar20 = iVar14 + iVar20;
                    }
                    goto LAB_0009fc74;
                  }
                  if (uVar12 == 0x22) {
                    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);
                    iVar11 = *(int *)puVar7;
                    iVar15 = *(int *)puVar6;
                    goto LAB_0009fc74;
                  }
                  if (*(int *)PTR_locale_mb_cur_max_00144b00 < 2) {
LAB_0009fc30:
                    iVar20 = iVar20 + 1;
                    bVar2 = iVar20 < iVar11;
                    goto LAB_0009fc38;
                  }
                  if (((*(uint *)(PTR_is_basic_table_00144b04 + ((uVar12 & 0xff) >> 5) * 4) >>
                        (uVar12 & 0x1f) & 1) != 0) ||
                     ((*(int *)PTR_locale_utf8locale_00144afc != 0 && (-1 < (int)uVar12)))) {
                    iVar14 = 1;
LAB_0009fb70:
                    iVar20 = iVar14 + iVar20;
                    bVar2 = iVar20 < iVar11;
                    goto LAB_0009fb78;
                  }
                  local_34 = local_3c;
                  local_30 = local_38;
                  iVar14 = (*(code *)PTR_mbrtowc_00146408)(0,pcVar16,iVar10 - iVar20,&local_3c);
                  if (1 < iVar14 + 2U) {
                    iVar11 = *(int *)puVar7;
                    iVar15 = *(int *)puVar6;
                    if (iVar14 == 0) goto LAB_0009fc30;
                    goto LAB_0009fb70;
                  }
                  local_3c = local_34;
                  iVar20 = iVar20 + 1;
                  iVar11 = *(int *)puVar7;
                  iVar15 = *(int *)puVar6;
                  local_38 = local_30;
                  bVar2 = iVar20 < iVar11;
                  pcVar16 = (char *)(iVar15 + iVar20);
                }
                uVar12 = (uint)*pcVar16;
              } while (bVar2);
            }
            if ((uVar12 == 0) || (iVar20 == iVar11)) {
LAB_0009fb98:
              puVar21 = PTR_rl_ding_00145634;
              *(int *)puVar8 = iVar11;
              (*(code *)puVar21)();
              uVar13 = 0;
              goto LAB_0009fbac;
            }
          }
          else {
            do {
              if (*(int *)puVar4 < 2) {
LAB_0009fa88:
                iVar20 = iVar20 + 1;
              }
              else {
                bVar1 = *(byte *)(*(int *)puVar6 + iVar20);
                uVar12 = 1;
                if ((*(uint *)(puVar5 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {
                  if ((*(int *)puVar3 == 0) || (uVar12 = (uint)(bVar1 != 0), (char)bVar1 < '\0')) {
                    local_34 = local_3c;
                    local_30 = local_38;
                    uVar12 = (*(code *)PTR_mbrtowc_00146408)
                                       (0,(byte *)(*(int *)puVar6 + iVar20),iVar10 - iVar20,
                                        &local_3c);
                    if (1 < uVar12 + 2) goto LAB_0009fa80;
                    local_3c = local_34;
                    iVar20 = iVar20 + 1;
                    local_38 = local_30;
                    goto LAB_0009fa8c;
                  }
LAB_0009fa80:
                  if (uVar12 == 0) goto LAB_0009fa88;
                }
                iVar20 = iVar20 + uVar12;
              }
LAB_0009fa8c:
            } while ((iVar20 < *(int *)puVar7) &&
                    (iVar11 = (*(code *)PTR_char_is_quoted_00145630)(*(undefined4 *)puVar6,iVar20),
                    iVar11 != 0));
          }
LAB_0009fab0:
          if (param_1 == 0) goto LAB_0009ff1c;
LAB_0009fab8:
          param_1 = param_1 + -1;
        } while (*(int *)puVar7 != iVar20);
      }
      *(int *)puVar8 = iVar20;
      uVar13 = 0;
    }
  }
LAB_0009fbac:
  if (local_2c == *(int *)puVar9) {
    return uVar13;
  }
  puVar21 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  if (**(int **)(puVar21 + 0xa456c) == 0) {
    uVar13 = FUN_0009a73c();
    return uVar13;
  }
  uVar13 = FUN_0009a73c();
  return uVar13;
LAB_0009fdd8:
  if ((*(uint *)(puVar21 + (uint)bVar1 * 4) & 0x2001) != 0) goto LAB_0009fab0;
  if (bVar1 == 0x27) {
    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar19,1);
    iVar11 = *(int *)puVar7;
LAB_0009fee8:
    if (iVar20 < iVar11) {
LAB_0009fec4:
      iVar20 = iVar20 + 1;
      goto LAB_0009fe54;
    }
LAB_0009fef4:
    if ((iVar11 == iVar20) || (*(char *)(*(int *)puVar6 + iVar20) == '\0')) goto LAB_0009fe78;
    if (param_1 != 0) goto LAB_0009fab8;
    goto LAB_0009ff1c;
  }
  if (bVar1 == 0x5c) {
    if (*(int *)puVar3 < 2) {
LAB_0009ffc0:
      iVar20 = iVar20 + 1;
    }
    else {
      iVar15 = 1;
      if (-1 < *(int *)(PTR_is_basic_table_00144b04 + 8) << 3 &&
          *(int *)PTR_locale_utf8locale_00144afc == 0) {
        local_34 = local_3c;
        local_30 = local_38;
        iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);
        if (iVar15 + 2U < 2) {
          local_3c = local_34;
          iVar20 = iVar20 + 1;
          iVar11 = *(int *)puVar7;
          local_38 = local_30;
          goto LAB_0009fee8;
        }
        iVar11 = *(int *)puVar7;
        if (iVar15 == 0) goto LAB_0009ffc0;
      }
      iVar20 = iVar20 + iVar15;
    }
    goto LAB_0009fee8;
  }
  if (bVar1 == 0x22) {
    iVar20 = (*(code *)PTR_skip_to_delim_00144b10)(iVar15,iVar20 + 1,puVar18,1);
    iVar11 = *(int *)puVar7;
    goto LAB_0009fee8;
  }
  if (*(int *)puVar3 < 2) goto LAB_0009fec4;
  if (((*(uint *)(PTR_is_basic_table_00144b04 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)
     && ((*(int *)PTR_locale_utf8locale_00144afc == 0 || ((char)bVar1 < '\0')))) {
    local_34 = local_3c;
    local_30 = local_38;
    iVar15 = (*(code *)PTR_mbrtowc_00146408)(0,pbVar17,iVar10 - iVar20,&local_3c);
    if (1 < iVar15 + 2U) {
      iVar11 = *(int *)puVar7;
      if (iVar15 == 0) goto LAB_0009fec4;
      goto LAB_0009fe50;
    }
    local_3c = local_34;
    iVar20 = iVar20 + 1;
    iVar11 = *(int *)puVar7;
    local_38 = local_30;
  }
  else {
    iVar15 = 1;
LAB_0009fe50:
    iVar20 = iVar20 + iVar15;
  }
LAB_0009fe54:
  if (iVar11 <= iVar20) goto LAB_0009fef4;
  iVar15 = *(int *)puVar6;
  pbVar17 = (byte *)(iVar15 + iVar20);
  bVar1 = *pbVar17;
  if (bVar1 == 0) goto LAB_0009fe78;
  goto LAB_0009fdd8;
LAB_0009fe78:
  *(int *)puVar8 = iVar11;
  uVar13 = 0;
  goto LAB_0009fbac;
}

