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

_Bool __regparm3 mbsstr_trimmed_wordbounded(char *string,char *sub)

{
  mbstate_t *__ps;
  mbstate_t *__ps_00;
  int iVar1;
  byte bVar2;
  char *pcVar3;
  char *needle;
  byte *pbVar4;
  size_t sVar5;
  ushort **ppuVar6;
  size_t sVar7;
  int iVar8;
  wchar_t wVar9;
  int in_GS_OFFSET;
  mbuiter_multi *in_stack_ffffff44;
  _Bool local_a1;
  mbui_iterator_t string_iter;
  mbui_iterator_t tsub_iter;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  needle = trim2(sub,2);
LAB_00014380:
  if (*string != 0) {
    while( true ) {
      pbVar4 = (byte *)mbsstr(string,needle);
      if (pbVar4 == (byte *)0x0) goto LAB_00014402;
      sVar5 = __ctype_get_mb_cur_max();
      if (1 < sVar5) break;
      sVar5 = strlen(needle);
      if (((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&
         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||
          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))) {
        local_a1 = true;
        goto LAB_00014407;
      }
      if ((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)) goto LAB_00014402;
    }
    __ps = &string_iter.state;
    string_iter.in_shift = false;
    string_iter.state.__count = 0;
    string_iter.state.__value.__wch = 0;
    string_iter.cur.ptr = string;
    if (string < pbVar4) {
      do {
        string_iter.next_done = false;
        if (string_iter.in_shift == false) {
          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>
               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {
            iVar8 = mbsinit((mbstate_t *)__ps);
            if (iVar8 != 0) {
              string_iter.in_shift = true;
              goto LAB_000144df;
            }
            goto LAB_00014bd8;
          }
          string_iter.cur.bytes = 1;
          wVar9 = (wchar_t)*string_iter.cur.ptr;
          string_iter.cur.wc_valid = true;
          string_iter.cur.wc = wVar9;
LAB_000144b2:
          string_iter.next_done = true;
          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;
        }
        else {
LAB_000144df:
          sVar5 = __ctype_get_mb_cur_max();
          pcVar3 = string_iter.cur.ptr;
          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);
          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);
          wVar9 = string_iter.cur.wc;
          if (string_iter.cur.bytes == 0xffffffff) {
            string_iter.cur.bytes = 1;
            string_iter.cur.wc_valid = false;
          }
          else {
            if (string_iter.cur.bytes != 0xfffffffe) {
              if (string_iter.cur.bytes == 0) {
                string_iter.cur.bytes = 1;
                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;
                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;
              }
              string_iter.cur.wc_valid = true;
              iVar8 = mbsinit((mbstate_t *)__ps);
              if (iVar8 != 0) {
                string_iter.in_shift = false;
              }
              goto LAB_000144b2;
            }
            string_iter.cur.bytes = strlen(string_iter.cur.ptr);
            string_iter.cur.wc_valid = false;
            wVar9 = string_iter.cur.wc;
          }
        }
        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;
        string_iter.next_done = false;
      } while (string_iter.cur.ptr < pbVar4);
      if (string_iter.cur.wc_valid != false) {
        iVar8 = iswalnum(wVar9);
        local_a1 = iVar8 == 0;
        goto LAB_00014603;
      }
    }
    local_a1 = true;
LAB_00014603:
    string_iter.state.__value.__wch = 0;
    __ps_00 = &tsub_iter.state;
    string_iter.in_shift = false;
    string_iter.state.__count = 0;
    tsub_iter.in_shift = false;
    tsub_iter.state.__count = 0;
    tsub_iter.state.__value.__wch = 0;
    string_iter.cur.ptr = (char *)pbVar4;
    tsub_iter.cur.ptr = needle;
    do {
      tsub_iter.next_done = false;
      string_iter.next_done = false;
      if (tsub_iter.in_shift == false) {
        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>
             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {
          iVar8 = mbsinit((mbstate_t *)__ps_00);
          if (iVar8 != 0) {
            tsub_iter.in_shift = true;
            goto LAB_0001472b;
          }
          goto LAB_00014bd8;
        }
        tsub_iter.cur.bytes = 1;
        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;
        tsub_iter.cur.wc_valid = true;
        wVar9 = string_iter.cur.wc;
joined_r0x000146a5:
        string_iter.cur.wc = wVar9;
        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;
      }
      else {
LAB_0001472b:
        sVar5 = __ctype_get_mb_cur_max();
        pcVar3 = tsub_iter.cur.ptr;
        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);
        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);
        if (tsub_iter.cur.bytes == 0xffffffff) {
          tsub_iter.cur.bytes = 1;
          tsub_iter.cur.wc_valid = false;
        }
        else {
          if (tsub_iter.cur.bytes != 0xfffffffe) {
            if (tsub_iter.cur.bytes == 0) {
              tsub_iter.cur.bytes = 1;
              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;
              if (tsub_iter.cur.wc != L'\0') {
LAB_00014c16:
                    /* WARNING: Subroutine does not return */
                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");
              }
            }
            tsub_iter.cur.wc_valid = true;
            iVar8 = mbsinit((mbstate_t *)__ps_00);
            wVar9 = string_iter.cur.wc;
            if (iVar8 != 0) {
              tsub_iter.in_shift = false;
            }
            goto joined_r0x000146a5;
          }
          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);
          tsub_iter.cur.wc_valid = false;
        }
      }
      tsub_iter.next_done = true;
      if (string_iter.next_done == false) {
        if (string_iter.in_shift == false) {
          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>
               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {
            string_iter.cur.bytes = 1;
            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;
            string_iter.cur.wc_valid = true;
            string_iter.next_done = true;
            goto LAB_000146fa;
          }
          iVar8 = mbsinit((mbstate_t *)__ps);
          if (iVar8 == 0) goto LAB_00014bd8;
          string_iter.in_shift = true;
        }
        sVar5 = __ctype_get_mb_cur_max();
        pcVar3 = string_iter.cur.ptr;
        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);
        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);
        if (string_iter.cur.bytes == 0xffffffff) {
          string_iter.cur.bytes = 1;
          string_iter.cur.wc_valid = false;
        }
        else {
          if (string_iter.cur.bytes != 0xfffffffe) {
            if (string_iter.cur.bytes == 0) {
              string_iter.cur.bytes = 1;
              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;
              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;
            }
            string_iter.cur.wc_valid = true;
            iVar8 = mbsinit((mbstate_t *)__ps);
            if (iVar8 != 0) {
              string_iter.in_shift = false;
            }
            string_iter.next_done = true;
            goto LAB_000146fa;
          }
          string_iter.cur.bytes = strlen(string_iter.cur.ptr);
          string_iter.cur.wc_valid = false;
        }
      }
      else if (string_iter.cur.wc_valid != false) {
LAB_000146fa:
        if (string_iter.cur.wc == L'\0') {
mbsstr_trimmed_wordbounded_cold_1:
                    /* WARNING: Subroutine does not return */
          abort();
        }
      }
      string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;
      tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;
    } while( true );
  }
LAB_00014402:
  local_a1 = false;
LAB_00014407:
  free(needle);
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return local_a1;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
LAB_000147c3:
  tsub_iter.next_done = true;
  if (string_iter.next_done == false) {
    if (string_iter.in_shift == false) {
      if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>
           (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {
        string_iter.cur.bytes = 1;
        wVar9 = (wchar_t)*string_iter.cur.ptr;
        string_iter.cur.wc_valid = true;
        string_iter.next_done = true;
        string_iter.cur.wc = wVar9;
        goto LAB_00014819;
      }
      iVar8 = mbsinit((mbstate_t *)__ps);
      if (iVar8 == 0) goto LAB_00014bd8;
      string_iter.in_shift = true;
    }
    sVar5 = __ctype_get_mb_cur_max();
    pcVar3 = string_iter.cur.ptr;
    sVar7 = strnlen1(string_iter.cur.ptr,sVar5);
    string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);
    wVar9 = string_iter.cur.wc;
    if (string_iter.cur.bytes == 0xffffffff) {
      string_iter.cur.bytes = 1;
      string_iter.cur.wc_valid = false;
      string_iter.next_done = true;
      goto LAB_0001481d;
    }
    if (string_iter.cur.bytes == 0xfffffffe) {
      string_iter.cur.bytes = strlen(string_iter.cur.ptr);
      string_iter.cur.wc_valid = false;
      string_iter.next_done = true;
      wVar9 = string_iter.cur.wc;
      goto LAB_0001481d;
    }
    if (string_iter.cur.bytes != 0) {
LAB_00014a6b:
      string_iter.cur.wc_valid = true;
      iVar8 = mbsinit((mbstate_t *)__ps);
      if (iVar8 != 0) {
        string_iter.in_shift = false;
      }
      string_iter.next_done = true;
      goto LAB_00014819;
    }
    string_iter.cur.bytes = 1;
    if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;
    if (string_iter.cur.wc == L'\0') goto LAB_00014a6b;
LAB_00014b87:
    string_iter.cur.bytes = 1;
    mbuiter_multi_next(in_stack_ffffff44);
LAB_00014b90:
    string_iter.cur.bytes = strlen(string_iter.cur.ptr);
  }
  else {
    if (string_iter.cur.wc_valid == false) {
LAB_0001481d:
      if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))
      goto LAB_00014834;
    }
    else {
LAB_00014819:
      if (wVar9 != L'\0') goto LAB_0001481d;
LAB_00014834:
      if (local_a1 != false) goto LAB_00014407;
    }
    string_iter.state.__value.__wch = 0;
    string_iter.in_shift = false;
    string_iter.state.__count = 0;
    string_iter.next_done = false;
    if ((*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {
      string_iter.cur.ptr = (char *)pbVar4;
      iVar8 = mbsinit((mbstate_t *)__ps);
      if (iVar8 == 0) {
LAB_00014bd8:
                    /* WARNING: Subroutine does not return */
        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");
      }
      string_iter.in_shift = true;
      sVar5 = __ctype_get_mb_cur_max();
      pcVar3 = string_iter.cur.ptr;
      sVar7 = strnlen1(string_iter.cur.ptr,sVar5);
      string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);
      if (string_iter.cur.bytes == 0xffffffff) {
        string_iter.cur.bytes = 1;
        goto LAB_0001489d;
      }
      if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;
      if (string_iter.cur.bytes == 0) {
        string_iter.cur.bytes = 1;
        if (*string_iter.cur.ptr != '\0') {
LAB_00014bf7:
                    /* WARNING: Subroutine does not return */
          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");
        }
        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;
      }
      string_iter.cur.wc_valid = true;
      iVar8 = mbsinit((mbstate_t *)__ps);
      if (iVar8 != 0) {
        string_iter.in_shift = false;
      }
    }
    else {
      string_iter.cur.bytes = 1;
      string_iter.cur.wc = (wchar_t)(char)*pbVar4;
      string_iter.cur.wc_valid = true;
      string_iter.cur.ptr = (char *)pbVar4;
    }
    string_iter.next_done = true;
    if (string_iter.cur.wc == L'\0') goto LAB_00014402;
  }
LAB_0001489d:
  string = (char *)(pbVar4 + string_iter.cur.bytes);
  goto LAB_00014380;
}



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

bool __regparm3 FUN_00014340(byte *param_1,undefined4 param_2)

{
  byte bVar1;
  bool bVar2;
  byte *pbVar3;
  byte *__s;
  byte *pbVar4;
  size_t sVar5;
  ushort **ppuVar6;
  undefined4 uVar7;
  int iVar8;
  wint_t wVar9;
  int in_GS_OFFSET;
  bool local_a1;
  mbstate_t local_8c;
  char local_84;
  byte *local_80;
  size_t local_7c;
  char local_78;
  wint_t local_74 [7];
  char local_58;
  mbstate_t local_54;
  undefined1 local_4c;
  byte *local_48;
  size_t local_44;
  undefined1 local_40;
  int local_3c [7];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1434b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  __s = (byte *)FUN_00015010(param_2,2);
LAB_00014380:
  if (*param_1 != 0) {
    while( true ) {
      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);
      if (pbVar4 == (byte *)0x0) goto LAB_00014402;
      sVar5 = __ctype_get_mb_cur_max();
      if (1 < sVar5) break;
      sVar5 = strlen((char *)__s);
      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&
         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||
          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {
        local_a1 = true;
        goto LAB_00014407;
      }
      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;
    }
    bVar2 = false;
    local_8c.__count = 0;
    local_8c.__value.__wch = 0;
    local_80 = param_1;
    if (param_1 < pbVar4) {
      do {
        local_84 = '\0';
        if (bVar2) {
LAB_000144df:
          sVar5 = __ctype_get_mb_cur_max();
          pbVar3 = local_80;
          uVar7 = FUN_00014fa0(local_80,sVar5);
          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);
          wVar9 = local_74[0];
          if (local_7c == 0xffffffff) {
            local_7c = 1;
            local_78 = '\0';
          }
          else {
            if (local_7c != 0xfffffffe) {
              if (local_7c == 0) {
                local_7c = 1;
                if (*local_80 != 0) goto LAB_00014bf7;
                if (local_74[0] != 0) goto LAB_00014c16;
              }
              local_78 = '\x01';
              iVar8 = mbsinit(&local_8c);
              if (iVar8 != 0) {
                bVar2 = false;
              }
              goto LAB_000144b2;
            }
            local_7c = strlen((char *)local_80);
            local_78 = '\0';
            wVar9 = local_74[0];
          }
        }
        else {
          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0
             ) {
            iVar8 = mbsinit(&local_8c);
            if (iVar8 != 0) {
              bVar2 = true;
              goto LAB_000144df;
            }
            goto LAB_00014bd8;
          }
          local_7c = 1;
          wVar9 = (wint_t)(char)*local_80;
          local_78 = '\x01';
          local_74[0] = wVar9;
LAB_000144b2:
          local_84 = '\x01';
          if (wVar9 == 0) goto FUN_00012500;
        }
        local_80 = local_80 + local_7c;
        local_84 = 0;
      } while (local_80 < pbVar4);
      if (local_78 != '\0') {
        iVar8 = iswalnum(wVar9);
        local_a1 = iVar8 == 0;
        goto LAB_00014603;
      }
    }
    local_a1 = true;
LAB_00014603:
    local_8c.__value.__wch = 0;
    bVar2 = false;
    local_8c.__count = 0;
    local_58 = '\0';
    local_54.__count = 0;
    local_54.__value.__wch = 0;
    local_80 = pbVar4;
    local_48 = __s;
    do {
      local_4c = 0;
      local_84 = '\0';
      if (local_58 == '\0') {
        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)
        {
          iVar8 = mbsinit(&local_54);
          if (iVar8 != 0) {
            local_58 = '\x01';
            goto LAB_0001472b;
          }
          goto LAB_00014bd8;
        }
        local_44 = 1;
        local_3c[0] = (int)(char)*local_48;
        local_40 = 1;
        wVar9 = local_74[0];
joined_r0x000146a5:
        local_74[0] = wVar9;
        if (local_3c[0] == 0) goto LAB_000147c3;
      }
      else {
LAB_0001472b:
        sVar5 = __ctype_get_mb_cur_max();
        pbVar3 = local_48;
        uVar7 = FUN_00014fa0(local_48,sVar5);
        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);
        if (local_44 == 0xffffffff) {
          local_44 = 1;
          local_40 = 0;
        }
        else {
          if (local_44 != 0xfffffffe) {
            if (local_44 == 0) {
              local_44 = 1;
              if (*local_48 != 0) goto LAB_00014bf7;
              if (local_3c[0] != 0) {
LAB_00014c16:
                    /* WARNING: Subroutine does not return */
                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");
              }
            }
            local_40 = 1;
            iVar8 = mbsinit(&local_54);
            wVar9 = local_74[0];
            if (iVar8 != 0) {
              local_58 = '\0';
            }
            goto joined_r0x000146a5;
          }
          local_44 = strlen((char *)local_48);
          local_40 = 0;
        }
      }
      local_4c = 1;
      if (local_84 == '\0') {
        if (!bVar2) {
          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0
             ) {
            local_7c = 1;
            local_74[0] = (wint_t)(char)*local_80;
            local_78 = '\x01';
            local_84 = '\x01';
            goto LAB_000146fa;
          }
          iVar8 = mbsinit(&local_8c);
          if (iVar8 == 0) goto LAB_00014bd8;
          bVar2 = true;
        }
        sVar5 = __ctype_get_mb_cur_max();
        pbVar3 = local_80;
        uVar7 = FUN_00014fa0(local_80,sVar5);
        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);
        if (local_7c == 0xffffffff) {
          local_7c = 1;
          local_78 = '\0';
        }
        else {
          if (local_7c != 0xfffffffe) {
            if (local_7c == 0) {
              local_7c = 1;
              if (*local_80 != 0) goto LAB_00014bf7;
              if (local_74[0] != 0) goto LAB_00014c16;
            }
            local_78 = '\x01';
            iVar8 = mbsinit(&local_8c);
            if (iVar8 != 0) {
              bVar2 = false;
            }
            local_84 = '\x01';
            goto LAB_000146fa;
          }
          local_7c = strlen((char *)local_80);
          local_78 = '\0';
        }
      }
      else if (local_78 != '\0') {
LAB_000146fa:
        if (local_74[0] == 0) {
FUN_00012500:
                    /* WARNING: Subroutine does not return */
          abort();
        }
      }
      local_80 = local_80 + local_7c;
      local_48 = local_48 + local_44;
    } while( true );
  }
LAB_00014402:
  local_a1 = false;
LAB_00014407:
  free(__s);
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_00019640();
  }
  return local_a1;
LAB_000147c3:
  local_4c = 1;
  if (local_84 == '\0') {
    if (!bVar2) {
      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {
        local_7c = 1;
        wVar9 = (wint_t)(char)*local_80;
        local_78 = '\x01';
        local_84 = '\x01';
        local_74[0] = wVar9;
        goto LAB_00014819;
      }
      iVar8 = mbsinit(&local_8c);
      if (iVar8 == 0) goto LAB_00014bd8;
    }
    sVar5 = __ctype_get_mb_cur_max();
    pbVar3 = local_80;
    uVar7 = FUN_00014fa0(local_80,sVar5);
    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);
    wVar9 = local_74[0];
    if (local_7c == 0xffffffff) {
      local_7c = 1;
      local_78 = '\0';
      local_84 = '\x01';
      goto LAB_0001481d;
    }
    if (local_7c == 0xfffffffe) {
      local_7c = strlen((char *)local_80);
      local_78 = '\0';
      local_84 = '\x01';
      wVar9 = local_74[0];
      goto LAB_0001481d;
    }
    if (local_7c != 0) {
LAB_00014a6b:
      local_78 = '\x01';
      mbsinit(&local_8c);
      local_84 = '\x01';
      goto LAB_00014819;
    }
    local_7c = 1;
    if (*local_80 != 0) goto LAB_00014bf7;
    if (local_74[0] == 0) goto LAB_00014a6b;
LAB_00014b87:
    local_7c = 1;
    FUN_00014310();
LAB_00014b90:
    local_7c = strlen((char *)local_80);
  }
  else {
    if (local_78 == '\0') {
LAB_0001481d:
      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;
    }
    else {
LAB_00014819:
      if (wVar9 != 0) goto LAB_0001481d;
LAB_00014834:
      if (local_a1 != false) goto LAB_00014407;
    }
    local_8c.__value.__wch = 0;
    local_8c.__count = 0;
    local_84 = '\0';
    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {
      local_80 = pbVar4;
      iVar8 = mbsinit(&local_8c);
      if (iVar8 == 0) {
LAB_00014bd8:
                    /* WARNING: Subroutine does not return */
        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");
      }
      sVar5 = __ctype_get_mb_cur_max();
      pbVar3 = local_80;
      uVar7 = FUN_00014fa0(local_80,sVar5);
      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);
      if (local_7c == 0xffffffff) {
        local_7c = 1;
        goto LAB_0001489d;
      }
      if (local_7c == 0xfffffffe) goto LAB_00014b90;
      if (local_7c == 0) {
        local_7c = 1;
        if (*local_80 != 0) {
LAB_00014bf7:
                    /* WARNING: Subroutine does not return */
          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");
        }
        if (local_74[0] != 0) goto LAB_00014b87;
      }
      local_78 = '\x01';
      mbsinit(&local_8c);
    }
    else {
      local_7c = 1;
      local_74[0] = (wint_t)(char)*pbVar4;
      local_78 = '\x01';
      local_80 = pbVar4;
    }
    local_84 = '\x01';
    if (local_74[0] == 0) goto LAB_00014402;
  }
LAB_0001489d:
  param_1 = pbVar4 + local_7c;
  goto LAB_00014380;
}


PUSH EBP
MOV EBP,EAX
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000131a0
ADD EBX,0xacb5
SUB ESP,0xb4
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0xa4],EAX
XOR EAX,EAX
PUSH 0x2
PUSH EDX
CALL 0x00015010
MOV dword ptr [ESP + 0x24],EAX
LEA EAX,[EBX + 0xffffc360]
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],EAX
NOP
CMP byte ptr [EBP],0x0
JZ 0x00014402
SUB ESP,0x8
PUSH dword ptr [ESP + 0x1c]
PUSH EBP
CALL 0x00017cf0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x00014402
CALL 0x000121b0
CMP EAX,0x1
JA 0x00014440
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x000122b0
ADD ESP,0x10
LEA ESI,[EDI + EAX*0x1]
CMP EBP,EDI
JNC 0x000143d1
CALL 0x000124c0
MOVZX EDX,byte ptr [EDI + -0x1]
MOV EAX,dword ptr [EAX]
TEST byte ptr [EAX + EDX*0x2],0x8
JNZ 0x000143f4
MOVZX ESI,byte ptr [ESI]
MOV EAX,ESI
TEST AL,AL
JZ 0x00014bce
CALL 0x000124c0
MOV EDX,ESI
MOV EAX,dword ptr [EAX]
MOVZX ESI,DL
TEST byte ptr [EAX + ESI*0x2],0x8
JZ 0x00014bce
CMP byte ptr [EDI],0x0
JZ 0x00014402
LEA EBP,[EDI + 0x1]
CMP byte ptr [EBP],0x0
JNZ 0x00014386
MOV byte ptr [ESP + 0x1b],0x0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x000120a0
ADD ESP,0x10
MOVZX EAX,byte ptr [ESP + 0x1b]
MOV ESI,dword ptr [ESP + 0x9c]
XOR ESI,dword ptr GS:[0x14]
JNZ 0x00014c35
ADD ESP,0xac
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[ESP + 0x48]
MOV dword ptr [ESP + 0x3c],EBP
LEA ESI,[ESP + 0x30]
MOV byte ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x34],0x0
MOV byte ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x8],EAX
CMP EBP,EDI
JC 0x000144d8
JMP 0x00014a00
MOV EDX,dword ptr [ESP + 0x3c]
MOV EBP,dword ptr [ESP + 0x10]
MOVZX ECX,byte ptr [EDX]
MOV EAX,ECX
SHR AL,0x5
MOVZX EAX,AL
MOV EAX,dword ptr [EBP + EAX*0x4]
SHR EAX,CL
TEST AL,0x1
JZ 0x00014570
MOV dword ptr [ESP + 0x40],0x1
MOVSX EDX,byte ptr [EDX]
MOV byte ptr [ESP + 0x44],0x1
MOV dword ptr [ESP + 0x48],EDX
MOV byte ptr [ESP + 0x38],0x1
TEST EDX,EDX
JZ 0x00012500
MOV EAX,dword ptr [ESP + 0x40]
ADD EAX,dword ptr [ESP + 0x3c]
MOV byte ptr [ESP + 0x38],0x0
MOVZX ECX,byte ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x3c],EAX
CMP EAX,EDI
JNC 0x000145e8
CMP byte ptr [ESP + 0x2c],0x0
JZ 0x00014478
CALL 0x000121b0
MOV EBP,dword ptr [ESP + 0x3c]
SUB ESP,0x8
PUSH EAX
PUSH EBP
CALL 0x00014fa0
ADD ESP,0x10
PUSH ESI
PUSH EAX
PUSH EBP
PUSH dword ptr [ESP + 0x14]
CALL 0x00016e10
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x00014590
CMP EAX,-0x2
JZ 0x000145b0
TEST EAX,EAX
JNZ 0x000145d8
MOV EAX,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x40],0x1
CMP byte ptr [EAX],0x0
JNZ 0x00014bf7
MOV EDX,dword ptr [ESP + 0x48]
TEST EDX,EDX
JNZ 0x00014c16
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0xc
MOV byte ptr [ESP + 0x50],0x1
PUSH ESI
CALL 0x000120d0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JZ 0x00014565
MOV byte ptr [ESP + 0x2c],0x0
MOV byte ptr [ESP + 0x38],0x1
JMP 0x000144b2
SUB ESP,0xc
PUSH ESI
CALL 0x000120d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00014bd8
MOV byte ptr [ESP + 0x2c],0x1
JMP 0x000144df
MOV dword ptr [ESP + 0x40],0x1
MOV EDX,dword ptr [ESP + 0x48]
MOV byte ptr [ESP + 0x44],0x0
JMP 0x000144ba
SUB ESP,0xc
PUSH dword ptr [ESP + 0x48]
CALL 0x000122b0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x48]
MOV dword ptr [ESP + 0x40],EAX
MOV byte ptr [ESP + 0x44],0x0
JMP 0x000144ba
MOV EDX,dword ptr [ESP + 0x48]
JMP 0x00014543
TEST CL,CL
JZ 0x00014a00
SUB ESP,0xc
PUSH EDX
CALL 0x00012320
ADD ESP,0x10
TEST EAX,EAX
SETZ byte ptr [ESP + 0x1b]
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESI + 0x4],0x0
LEA EBP,[ESP + 0x68]
MOV dword ptr [ESP + 0x3c],EDI
MOV dword ptr [ESP + 0x74],EAX
LEA EAX,[EBX + 0xffffc360]
MOV byte ptr [ESP + 0x2c],0x0
MOV dword ptr [ESI],0x0
MOV byte ptr [ESP + 0x38],0x0
MOV byte ptr [ESP + 0x64],0x0
MOV dword ptr [ESP + 0x68],0x0
MOV dword ptr [ESP + 0x6c],0x0
MOV byte ptr [ESP + 0x70],0x0
MOV dword ptr [ESP + 0x8],EAX
MOV dword ptr [ESP + 0xc],EAX
MOV dword ptr [ESP + 0x1c],EDI
JMP 0x00014720
MOV EDX,dword ptr [ESP + 0x74]
MOV EDI,dword ptr [ESP + 0x8]
MOVZX ECX,byte ptr [EDX]
MOV EAX,ECX
SHR AL,0x5
MOVZX EAX,AL
MOV EAX,dword ptr [EDI + EAX*0x4]
SHR EAX,CL
TEST AL,0x1
JZ 0x00014960
MOV dword ptr [ESP + 0x78],0x1
MOVSX EAX,byte ptr [EDX]
MOV byte ptr [ESP + 0x7c],0x1
MOV dword ptr [ESP + 0x80],EAX
MOV ECX,dword ptr [ESP + 0x80]
MOV byte ptr [ESP + 0x70],0x1
TEST ECX,ECX
JZ 0x000147c3
CMP byte ptr [ESP + 0x38],0x0
JNZ 0x00014950
CMP byte ptr [ESP + 0x2c],0x0
JNZ 0x000148c9
MOV EDX,dword ptr [ESP + 0x3c]
MOV EDI,dword ptr [ESP + 0xc]
MOVZX ECX,byte ptr [EDX]
MOV EAX,ECX
SHR AL,0x5
MOVZX EAX,AL
MOV EAX,dword ptr [EDI + EAX*0x4]
SHR EAX,CL
TEST AL,0x1
JZ 0x000148b0
MOV dword ptr [ESP + 0x40],0x1
MOVSX EAX,byte ptr [EDX]
MOV byte ptr [ESP + 0x44],0x1
MOV dword ptr [ESP + 0x48],EAX
MOV byte ptr [ESP + 0x38],0x1
MOV EAX,dword ptr [ESP + 0x48]
TEST EAX,EAX
JZ 0x00012500
MOV EAX,dword ptr [ESP + 0x40]
ADD dword ptr [ESP + 0x3c],EAX
MOV EAX,dword ptr [ESP + 0x78]
ADD dword ptr [ESP + 0x74],EAX
MOV byte ptr [ESP + 0x38],0x0
MOV byte ptr [ESP + 0x70],0x0
CMP byte ptr [ESP + 0x64],0x0
JZ 0x00014660
CALL 0x000121b0
MOV EDI,dword ptr [ESP + 0x74]
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x00014fa0
ADD ESP,0x10
PUSH EBP
PUSH EAX
PUSH EDI
LEA EAX,[ESP + 0x8c]
PUSH EAX
CALL 0x00016e10
MOV dword ptr [ESP + 0x88],EAX
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x00014980
CMP EAX,-0x2
JZ 0x000149b8
TEST EAX,EAX
JNZ 0x00014795
MOV EAX,dword ptr [ESP + 0x74]
MOV dword ptr [ESP + 0x78],0x1
CMP byte ptr [EAX],0x0
JNZ 0x00014bf7
MOV EDI,dword ptr [ESP + 0x80]
TEST EDI,EDI
JNZ 0x00014c16
MOV byte ptr [ESP + 0x7c],0x1
SUB ESP,0xc
PUSH EBP
CALL 0x000120d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000147af
MOV byte ptr [ESP + 0x64],0x0
MOV ECX,dword ptr [ESP + 0x80]
MOV byte ptr [ESP + 0x70],0x1
TEST ECX,ECX
JNZ 0x000146ab
CMP byte ptr [ESP + 0x38],0x0
MOV EDI,dword ptr [ESP + 0x1c]
JNZ 0x00014a90
CMP byte ptr [ESP + 0x2c],0x0
JNZ 0x00014a23
MOV EDX,dword ptr [ESP + 0x3c]
LEA EBP,[EBX + 0xffffc360]
MOVZX ECX,byte ptr [EDX]
MOV EAX,ECX
SHR AL,0x5
MOVZX EAX,AL
MOV EAX,dword ptr [EBP + EAX*0x4]
SHR EAX,CL
TEST AL,0x1
JZ 0x00014a0a
MOV dword ptr [ESP + 0x40],0x1
MOVSX EBP,byte ptr [EDX]
MOV byte ptr [ESP + 0x44],0x1
MOV dword ptr [ESP + 0x48],EBP
MOV byte ptr [ESP + 0x38],0x1
TEST EBP,EBP
JZ 0x00014834
CMP byte ptr [ESP + 0x44],0x0
JZ 0x00014834
SUB ESP,0xc
PUSH EBP
CALL 0x00012320
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001483f
CMP byte ptr [ESP + 0x1b],0x0
JNZ 0x00014407
MOV dword ptr [ESI + 0x4],0x0
LEA EDX,[EBX + 0xffffc360]
MOV dword ptr [ESP + 0x3c],EDI
MOV byte ptr [ESP + 0x2c],0x0
MOV dword ptr [ESI],0x0
MOV byte ptr [ESP + 0x38],0x0
MOVZX ECX,byte ptr [EDI]
MOV EAX,ECX
SHR AL,0x5
MOVZX EAX,AL
MOV EAX,dword ptr [EDX + EAX*0x4]
SHR EAX,CL
TEST AL,0x1
JZ 0x00014aa8
MOV dword ptr [ESP + 0x40],0x1
MOVSX EAX,byte ptr [EDI]
MOV byte ptr [ESP + 0x44],0x1
MOV dword ptr [ESP + 0x48],EAX
MOV byte ptr [ESP + 0x38],0x1
MOV EAX,dword ptr [ESP + 0x48]
TEST EAX,EAX
JZ 0x00014402
ADD EDI,dword ptr [ESP + 0x40]
MOV EBP,EDI
JMP 0x00014380
SUB ESP,0xc
PUSH ESI
CALL 0x000120d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00014bd8
MOV byte ptr [ESP + 0x2c],0x1
CALL 0x000121b0
MOV EDI,dword ptr [ESP + 0x3c]
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x00014fa0
ADD ESP,0x10
PUSH ESI
PUSH EAX
PUSH EDI
LEA EAX,[ESP + 0x54]
PUSH EAX
CALL 0x00016e10
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x000149a0
CMP EAX,-0x2
JZ 0x000149e0
TEST EAX,EAX
JNZ 0x0001492a
MOV EAX,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x40],0x1
CMP byte ptr [EAX],0x0
JNZ 0x00014bf7
MOV EAX,dword ptr [ESP + 0x48]
TEST EAX,EAX
JNZ 0x00014c16
MOV byte ptr [ESP + 0x44],0x1
SUB ESP,0xc
PUSH ESI
CALL 0x000120d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00014944
MOV byte ptr [ESP + 0x2c],0x0
MOV byte ptr [ESP + 0x38],0x1
JMP 0x000146fa
CMP byte ptr [ESP + 0x44],0x0
JZ 0x00014706
JMP 0x000146fa
SUB ESP,0xc
PUSH EBP
CALL 0x000120d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00014bd8
MOV byte ptr [ESP + 0x64],0x1
JMP 0x0001472b
MOV dword ptr [ESP + 0x78],0x1
MOV byte ptr [ESP + 0x7c],0x0
MOV byte ptr [ESP + 0x70],0x1
JMP 0x000146ab
MOV dword ptr [ESP + 0x40],0x1
MOV byte ptr [ESP + 0x44],0x0
JMP 0x00014706
SUB ESP,0xc
PUSH dword ptr [ESP + 0x80]
CALL 0x000122b0
ADD ESP,0x10
MOV dword ptr [ESP + 0x78],EAX
MOV byte ptr [ESP + 0x7c],0x0
MOV byte ptr [ESP + 0x70],0x1
JMP 0x000146ab
SUB ESP,0xc
PUSH dword ptr [ESP + 0x48]
CALL 0x000122b0
ADD ESP,0x10
MOV dword ptr [ESP + 0x40],EAX
MOV byte ptr [ESP + 0x44],0x0
JMP 0x00014706
MOV byte ptr [ESP + 0x1b],0x1
JMP 0x00014603
SUB ESP,0xc
PUSH ESI
CALL 0x000120d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00014bd8
MOV byte ptr [ESP + 0x2c],0x1
CALL 0x000121b0
MOV EBP,dword ptr [ESP + 0x3c]
SUB ESP,0x8
PUSH EAX
PUSH EBP
CALL 0x00014fa0
ADD ESP,0x10
PUSH ESI
PUSH EAX
PUSH EBP
LEA EAX,[ESP + 0x54]
PUSH EAX
CALL 0x00016e10
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x00014b3e
CMP EAX,-0x2
JZ 0x00014ba8
TEST EAX,EAX
JZ 0x00014b66
MOV EBP,dword ptr [ESP + 0x48]
MOV byte ptr [ESP + 0x44],0x1
SUB ESP,0xc
PUSH ESI
CALL 0x000120d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00014a85
MOV byte ptr [ESP + 0x2c],0x0
MOV byte ptr [ESP + 0x38],0x1
JMP 0x00014819
CMP byte ptr [ESP + 0x44],0x0
MOV EBP,dword ptr [ESP + 0x48]
JZ 0x0001481d
JMP 0x00014819
SUB ESP,0xc
PUSH ESI
CALL 0x000120d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00014bd8
MOV byte ptr [ESP + 0x2c],0x1
CALL 0x000121b0
MOV EBP,dword ptr [ESP + 0x3c]
SUB ESP,0x8
PUSH EAX
PUSH EBP
CALL 0x00014fa0
ADD ESP,0x10
PUSH ESI
PUSH EAX
PUSH EBP
LEA EAX,[ESP + 0x54]
PUSH EAX
CALL 0x00016e10
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x00014b59
CMP EAX,-0x2
JZ 0x00014b90
TEST EAX,EAX
JNZ 0x00014b1a
MOV EAX,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x40],0x1
CMP byte ptr [EAX],0x0
JNZ 0x00014bf7
MOV EDX,dword ptr [ESP + 0x48]
TEST EDX,EDX
JNZ 0x00014b87
MOV byte ptr [ESP + 0x44],0x1
SUB ESP,0xc
PUSH ESI
CALL 0x000120d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00014b34
MOV byte ptr [ESP + 0x2c],0x0
MOV byte ptr [ESP + 0x38],0x1
JMP 0x00014891
MOV dword ptr [ESP + 0x40],0x1
MOV EBP,dword ptr [ESP + 0x48]
MOV byte ptr [ESP + 0x44],0x0
MOV byte ptr [ESP + 0x38],0x1
JMP 0x0001481d
MOV dword ptr [ESP + 0x40],0x1
JMP 0x0001489d
MOV EAX,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x40],0x1
CMP byte ptr [EAX],0x0
JNZ 0x00014bf7
MOV EBP,dword ptr [ESP + 0x48]
TEST EBP,EBP
JZ 0x00014a6b
CALL 0x00014310
LEA ESI,[ESI]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x48]
CALL 0x000122b0
ADD ESP,0x10
MOV dword ptr [ESP + 0x40],EAX
JMP 0x0001489d
SUB ESP,0xc
PUSH dword ptr [ESP + 0x48]
CALL 0x000122b0
ADD ESP,0x10
MOV EBP,dword ptr [ESP + 0x48]
MOV dword ptr [ESP + 0x40],EAX
MOV byte ptr [ESP + 0x44],0x0
MOV byte ptr [ESP + 0x38],0x1
JMP 0x0001481d
MOV byte ptr [ESP + 0x1b],0x1
JMP 0x00014407
LEA EAX,[EBX + 0xffffbe78]
PUSH EAX
LEA EAX,[EBX + 0xffffbe20]
PUSH 0x96
PUSH EAX
LEA EAX,[EBX + 0xffffbe3c]
PUSH EAX
CALL 0x000124b0
LEA EAX,[EBX + 0xffffbe78]
PUSH EAX
LEA EAX,[EBX + 0xffffbe20]
PUSH 0xb2
PUSH EAX
LEA EAX,[EBX + 0xffffbe53]
PUSH EAX
CALL 0x000124b0
LEA EAX,[EBX + 0xffffbe78]
PUSH EAX
LEA EAX,[EBX + 0xffffbe20]
PUSH 0xb3
PUSH EAX
LEA EAX,[EBX + 0xffffbe2a]
PUSH EAX
CALL 0x000124b0
CALL 0x00019640
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbool __regparm3 FUN_00014340(byte *param_1,undefined4 param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  byte *pbVar3;\n  byte *__s;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  wint_t wVar9;\n  int in_GS_OFFSET;\n  bool local_a1;\n  mbstate_t local_8c;\n  char local_84;\n  byte *local_80;\n  size_t local_7c;\n  char local_78;\n  wint_t local_74 [7];\n  char local_58;\n  mbstate_t local_54;\n  undefined1 local_4c;\n  byte *local_48;\n  size_t local_44;\n  undefined1 local_40;\n  int local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1434b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s = (byte *)FUN_00015010(param_2,2);\nLAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(__s);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00019640();\n  }\n  return local_a1;\nLAB_000147c3:\n  local_4c = 1;\n  if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }\nLAB_0001489d:\n  param_1 = pbVar4 + local_7c;\n  goto LAB_00014380;\n}\n\n" comment (function_definition "bool __regparm3 FUN_00014340(byte *param_1,undefined4 param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  byte *pbVar3;\n  byte *__s;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  wint_t wVar9;\n  int in_GS_OFFSET;\n  bool local_a1;\n  mbstate_t local_8c;\n  char local_84;\n  byte *local_80;\n  size_t local_7c;\n  char local_78;\n  wint_t local_74 [7];\n  char local_58;\n  mbstate_t local_54;\n  undefined1 local_4c;\n  byte *local_48;\n  size_t local_44;\n  undefined1 local_40;\n  int local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1434b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s = (byte *)FUN_00015010(param_2,2);\nLAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(__s);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00019640();\n  }\n  return local_a1;\nLAB_000147c3:\n  local_4c = 1;\n  if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }\nLAB_0001489d:\n  param_1 = pbVar4 + local_7c;\n  goto LAB_00014380;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00014340(byte *param_1,undefined4 param_2)" identifier (parameter_list "(byte *param_1,undefined4 param_2)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  byte *pbVar3;\n  byte *__s;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  wint_t wVar9;\n  int in_GS_OFFSET;\n  bool local_a1;\n  mbstate_t local_8c;\n  char local_84;\n  byte *local_80;\n  size_t local_7c;\n  char local_78;\n  wint_t local_74 [7];\n  char local_58;\n  mbstate_t local_54;\n  undefined1 local_4c;\n  byte *local_48;\n  size_t local_44;\n  undefined1 local_40;\n  int local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1434b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s = (byte *)FUN_00015010(param_2,2);\nLAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(__s);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00019640();\n  }\n  return local_a1;\nLAB_000147c3:\n  local_4c = 1;\n  if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }\nLAB_0001489d:\n  param_1 = pbVar4 + local_7c;\n  goto LAB_00014380;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "byte *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "ushort **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "wint_t wVar9;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool local_a1;" primitive_type identifier ;) (declaration "mbstate_t local_8c;" type_identifier identifier ;) (declaration "char local_84;" primitive_type identifier ;) (declaration "byte *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "size_t local_7c;" primitive_type identifier ;) (declaration "char local_78;" primitive_type identifier ;) (declaration "wint_t local_74 [7];" type_identifier (array_declarator "local_74 [7]" identifier [ number_literal ]) ;) (declaration "char local_58;" primitive_type identifier ;) (declaration "mbstate_t local_54;" type_identifier identifier ;) (declaration "undefined1 local_4c;" type_identifier identifier ;) (declaration "byte *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "size_t local_44;" primitive_type identifier ;) (declaration "undefined1 local_40;" type_identifier identifier ;) (declaration "int local_3c [7];" primitive_type (array_declarator "local_3c [7]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1434b;" (assignment_expression "uStack_14 = 0x1434b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "__s = (byte *)FUN_00015010(param_2,2);" (assignment_expression "__s = (byte *)FUN_00015010(param_2,2)" identifier = (cast_expression "(byte *)FUN_00015010(param_2,2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00015010(param_2,2)" identifier (argument_list "(param_2,2)" ( identifier , number_literal ))))) ;) (labeled_statement "LAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }" statement_identifier : (if_statement "if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }" if (parenthesized_expression "(*param_1 != 0)" ( (binary_expression "*param_1 != 0" (pointer_expression "*param_1" * identifier) != number_literal) )) (compound_statement "{\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }" { (while_statement "while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }" { (expression_statement "pbVar4 = (byte *)FUN_00017cf0(param_1,__s);" (assignment_expression "pbVar4 = (byte *)FUN_00017cf0(param_1,__s)" identifier = (cast_expression "(byte *)FUN_00017cf0(param_1,__s)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00017cf0(param_1,__s)" identifier (argument_list "(param_1,__s)" ( identifier , identifier ))))) ;) (if_statement "if (pbVar4 == (byte *)0x0) goto LAB_00014402;" if (parenthesized_expression "(pbVar4 == (byte *)0x0)" ( (binary_expression "pbVar4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014402;" goto statement_identifier ;)) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (if_statement "if (1 < sVar5) break;" if (parenthesized_expression "(1 < sVar5)" ( (binary_expression "1 < sVar5" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "sVar5 = strlen((char *)__s);" (assignment_expression "sVar5 = strlen((char *)__s)" identifier = (call_expression "strlen((char *)__s)" identifier (argument_list "((char *)__s)" ( (cast_expression "(char *)__s" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }" if (parenthesized_expression "(((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0))))" ( (binary_expression "((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))" (parenthesized_expression "((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0))" ( (binary_expression "(pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)" (parenthesized_expression "(pbVar4 <= param_1)" ( (binary_expression "pbVar4 <= param_1" identifier <= identifier) )) || (parenthesized_expression "(ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)" ( (comma_expression "ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0" (assignment_expression "ppuVar6 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) , (binary_expression "((*ppuVar6)[pbVar4[-1]] & 8) == 0" (parenthesized_expression "((*ppuVar6)[pbVar4[-1]] & 8)" ( (binary_expression "(*ppuVar6)[pbVar4[-1]] & 8" (subscript_expression "(*ppuVar6)[pbVar4[-1]]" (parenthesized_expression "(*ppuVar6)" ( (pointer_expression "*ppuVar6" * identifier) )) [ (subscript_expression "pbVar4[-1]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))" ( (parenthesized_expression "(bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0))" ( (comma_expression "bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)" (assignment_expression "bVar1 = pbVar4[sVar5]" identifier = (subscript_expression "pbVar4[sVar5]" identifier [ identifier ])) , (binary_expression "bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)" (binary_expression "bVar1 == 0" identifier == number_literal) || (parenthesized_expression "(ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)" ( (comma_expression "ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0" (assignment_expression "ppuVar6 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) , (binary_expression "((*ppuVar6)[bVar1] & 8) == 0" (parenthesized_expression "((*ppuVar6)[bVar1] & 8)" ( (binary_expression "(*ppuVar6)[bVar1] & 8" (subscript_expression "(*ppuVar6)[bVar1]" (parenthesized_expression "(*ppuVar6)" ( (pointer_expression "*ppuVar6" * identifier) )) [ identifier ]) & number_literal) )) == number_literal)) )))) )) ))) )) (compound_statement "{\n        local_a1 = true;\n        goto LAB_00014407;\n      }" { (expression_statement "local_a1 = true;" (assignment_expression "local_a1 = true" identifier = true) ;) (goto_statement "goto LAB_00014407;" goto statement_identifier ;) })) (if_statement "if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;" if (parenthesized_expression "((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0))" ( (binary_expression "(*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)" (parenthesized_expression "(*pbVar4 == 0)" ( (binary_expression "*pbVar4 == 0" (pointer_expression "*pbVar4" * identifier) == number_literal) )) || (parenthesized_expression "(param_1 = pbVar4 + 1, *param_1 == 0)" ( (comma_expression "param_1 = pbVar4 + 1, *param_1 == 0" (assignment_expression "param_1 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) , (binary_expression "*param_1 == 0" (pointer_expression "*param_1" * identifier) == number_literal)) ))) )) (goto_statement "goto LAB_00014402;" goto statement_identifier ;)) })) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_8c.__count = 0;" (assignment_expression "local_8c.__count = 0" (field_expression "local_8c.__count" identifier . field_identifier) = number_literal) ;) (expression_statement "local_8c.__value.__wch = 0;" (assignment_expression "local_8c.__value.__wch = 0" (field_expression "local_8c.__value.__wch" (field_expression "local_8c.__value" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_80 = param_1;" (assignment_expression "local_80 = param_1" identifier = identifier) ;) (if_statement "if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }" if (parenthesized_expression "(param_1 < pbVar4)" ( (binary_expression "param_1 < pbVar4" identifier < identifier) )) (compound_statement "{\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }" { (do_statement "do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);" do (compound_statement "{\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      }" { (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }" { (labeled_statement "LAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();" statement_identifier : (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" identifier = identifier) ;) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" identifier = (call_expression "FUN_00014fa0(local_80,sVar5)" identifier (argument_list "(local_80,sVar5)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier (argument_list "(local_74,pbVar3,uVar7,&local_8c)" ( identifier , identifier , identifier , (pointer_expression "&local_8c" & identifier) )))) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) (if_statement "if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }" if (parenthesized_expression "(local_7c == 0xffffffff)" ( (binary_expression "local_7c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n            local_7c = 1;\n            local_78 = '\0';\n          }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }" else (compound_statement "{\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }" { (if_statement "if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }" if (parenthesized_expression "(local_7c != 0xfffffffe)" ( (binary_expression "local_7c != 0xfffffffe" identifier != number_literal) )) (compound_statement "{\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }" { (if_statement "if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (compound_statement "{\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) goto LAB_00014bf7;" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (local_74[0] != 0) goto LAB_00014c16;" if (parenthesized_expression "(local_74[0] != 0)" ( (binary_expression "local_74[0] != 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00014c16;" goto statement_identifier ;)) })) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n                bVar2 = false;\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                bVar2 = false;\n              }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) })) (goto_statement "goto LAB_000144b2;" goto statement_identifier ;) })) (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" identifier = (call_expression "strlen((char *)local_80)" identifier (argument_list "((char *)local_80)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) }))) }) (else_clause "else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }" else (compound_statement "{\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }" { (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }" if (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             )" ( (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (binary_expression "&DAT_0001b360 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0001b360" & identifier) + (binary_expression "(uint)(*local_80 >> 5) * 4" (call_expression "(uint)(*local_80 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_80 >> 5)" ( (binary_expression "*local_80 >> 5" (pointer_expression "*local_80" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*local_80 & 0x1f)" ( (binary_expression "*local_80 & 0x1f" (pointer_expression "*local_80" * identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }" { (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              bVar2 = true;\n              goto LAB_000144df;\n            }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_000144df;" goto statement_identifier ;) })) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;) })) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "wVar9 = (wint_t)(char)*local_80;" (assignment_expression "wVar9 = (wint_t)(char)*local_80" identifier = (binary_expression "(wint_t)(char)*local_80" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_74[0] = wVar9;" (assignment_expression "local_74[0] = wVar9" (subscript_expression "local_74[0]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_000144b2:\n          local_84 = '\x01';" statement_identifier : (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;)) (if_statement "if (wVar9 == 0) goto FUN_00012500;" if (parenthesized_expression "(wVar9 == 0)" ( (binary_expression "wVar9 == 0" identifier == number_literal) )) (goto_statement "goto FUN_00012500;" goto statement_identifier ;)) }))) (expression_statement "local_80 = local_80 + local_7c;" (assignment_expression "local_80 = local_80 + local_7c" identifier = (binary_expression "local_80 + local_7c" identifier + identifier)) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) }) while (parenthesized_expression "(local_80 < pbVar4)" ( (binary_expression "local_80 < pbVar4" identifier < identifier) )) ;) (if_statement "if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }" if (parenthesized_expression "(local_78 != '\0')" ( (binary_expression "local_78 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }" { (expression_statement "iVar8 = iswalnum(wVar9);" (assignment_expression "iVar8 = iswalnum(wVar9)" identifier = (call_expression "iswalnum(wVar9)" identifier (argument_list "(wVar9)" ( identifier )))) ;) (expression_statement "local_a1 = iVar8 == 0;" (assignment_expression "local_a1 = iVar8 == 0" identifier = (binary_expression "iVar8 == 0" identifier == number_literal)) ;) (goto_statement "goto LAB_00014603;" goto statement_identifier ;) })) })) (expression_statement "local_a1 = true;" (assignment_expression "local_a1 = true" identifier = true) ;) (labeled_statement "LAB_00014603:\n    local_8c.__value.__wch = 0;" statement_identifier : (expression_statement "local_8c.__value.__wch = 0;" (assignment_expression "local_8c.__value.__wch = 0" (field_expression "local_8c.__value.__wch" (field_expression "local_8c.__value" identifier . field_identifier) . field_identifier) = number_literal) ;)) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_8c.__count = 0;" (assignment_expression "local_8c.__count = 0" (field_expression "local_8c.__count" identifier . field_identifier) = number_literal) ;) (expression_statement "local_58 = '\0';" (assignment_expression "local_58 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_54.__count = 0;" (assignment_expression "local_54.__count = 0" (field_expression "local_54.__count" identifier . field_identifier) = number_literal) ;) (expression_statement "local_54.__value.__wch = 0;" (assignment_expression "local_54.__value.__wch = 0" (field_expression "local_54.__value.__wch" (field_expression "local_54.__value" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_80 = pbVar4;" (assignment_expression "local_80 = pbVar4" identifier = identifier) ;) (expression_statement "local_48 = __s;" (assignment_expression "local_48 = __s" identifier = identifier) ;) (do_statement "do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );" do (compound_statement "{\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }" if (parenthesized_expression "(local_58 == '\0')" ( (binary_expression "local_58 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }" { (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }" if (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4)" ( (binary_expression "&DAT_0001b360 + (uint)(*local_48 >> 5) * 4" (pointer_expression "&DAT_0001b360" & identifier) + (binary_expression "(uint)(*local_48 >> 5) * 4" (call_expression "(uint)(*local_48 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_48 >> 5)" ( (binary_expression "*local_48 >> 5" (pointer_expression "*local_48" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*local_48 & 0x1f)" ( (binary_expression "*local_48 & 0x1f" (pointer_expression "*local_48" * identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }" { (expression_statement "iVar8 = mbsinit(&local_54);" (assignment_expression "iVar8 = mbsinit(&local_54)" identifier = (call_expression "mbsinit(&local_54)" identifier (argument_list "(&local_54)" ( (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }" { (expression_statement "local_58 = '\x01';" (assignment_expression "local_58 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0001472b;" goto statement_identifier ;) })) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;) })) (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (expression_statement "local_3c[0] = (int)(char)*local_48;" (assignment_expression "local_3c[0] = (int)(char)*local_48" (subscript_expression "local_3c[0]" identifier [ number_literal ]) = (cast_expression "(int)(char)*local_48" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*local_48" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*local_48" * identifier)))) ;) (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) (labeled_statement "joined_r0x000146a5:\n        local_74[0] = wVar9;" statement_identifier : (expression_statement "local_74[0] = wVar9;" (assignment_expression "local_74[0] = wVar9" (subscript_expression "local_74[0]" identifier [ number_literal ]) = identifier) ;)) (if_statement "if (local_3c[0] == 0) goto LAB_000147c3;" if (parenthesized_expression "(local_3c[0] == 0)" ( (binary_expression "local_3c[0] == 0" (subscript_expression "local_3c[0]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000147c3;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }" else (compound_statement "{\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }" { (labeled_statement "LAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();" statement_identifier : (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pbVar3 = local_48;" (assignment_expression "pbVar3 = local_48" identifier = identifier) ;) (expression_statement "uVar7 = FUN_00014fa0(local_48,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_48,sVar5)" identifier = (call_expression "FUN_00014fa0(local_48,sVar5)" identifier (argument_list "(local_48,sVar5)" ( identifier , identifier )))) ;) (expression_statement "local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);" (assignment_expression "local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54)" identifier = (call_expression "FUN_00016e10(local_3c,pbVar3,uVar7,&local_54)" identifier (argument_list "(local_3c,pbVar3,uVar7,&local_54)" ( identifier , identifier , identifier , (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }" if (parenthesized_expression "(local_44 == 0xffffffff)" ( (binary_expression "local_44 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n          local_44 = 1;\n          local_40 = 0;\n        }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }" else (compound_statement "{\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }" { (if_statement "if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }" if (parenthesized_expression "(local_44 != 0xfffffffe)" ( (binary_expression "local_44 != 0xfffffffe" identifier != number_literal) )) (compound_statement "{\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }" { (if_statement "if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (compound_statement "{\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (if_statement "if (*local_48 != 0) goto LAB_00014bf7;" if (parenthesized_expression "(*local_48 != 0)" ( (binary_expression "*local_48 != 0" (pointer_expression "*local_48" * identifier) != number_literal) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (local_3c[0] != 0) {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }" if (parenthesized_expression "(local_3c[0] != 0)" ( (binary_expression "local_3c[0] != 0" (subscript_expression "local_3c[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }" { (labeled_statement "LAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");" statement_identifier : comment (expression_statement "__assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");" (call_expression "__assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next")" identifier (argument_list "("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next")" ( (string_literal ""iter->cur.wc == 0"" " string_content ") , (string_literal ""mbuiter.h"" " string_content ") , number_literal , (string_literal ""mbuiter_multi_next"" " string_content ") ))) ;)) })) })) (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "iVar8 = mbsinit(&local_54);" (assignment_expression "iVar8 = mbsinit(&local_54)" identifier = (call_expression "mbsinit(&local_54)" identifier (argument_list "(&local_54)" ( (pointer_expression "&local_54" & identifier) )))) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) (if_statement "if (iVar8 != 0) {\n              local_58 = '\0';\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              local_58 = '\0';\n            }" { (expression_statement "local_58 = '\0';" (assignment_expression "local_58 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (goto_statement "goto joined_r0x000146a5;" goto statement_identifier ;) })) (expression_statement "local_44 = strlen((char *)local_48);" (assignment_expression "local_44 = strlen((char *)local_48)" identifier = (call_expression "strlen((char *)local_48)" identifier (argument_list "((char *)local_48)" ( (cast_expression "(char *)local_48" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) }))) }))) (expression_statement "local_4c = 1;" (assignment_expression "local_4c = 1" identifier = number_literal) ;) (if_statement "if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }" if (parenthesized_expression "(local_84 == '\0')" ( (binary_expression "local_84 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }" { (if_statement "if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }" { (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" if (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             )" ( (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (binary_expression "&DAT_0001b360 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0001b360" & identifier) + (binary_expression "(uint)(*local_80 >> 5) * 4" (call_expression "(uint)(*local_80 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_80 >> 5)" ( (binary_expression "*local_80 >> 5" (pointer_expression "*local_80" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*local_80 & 0x1f)" ( (binary_expression "*local_80 & 0x1f" (pointer_expression "*local_80" * identifier) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_74[0] = (wint_t)(char)*local_80;" (assignment_expression "local_74[0] = (wint_t)(char)*local_80" (subscript_expression "local_74[0]" identifier [ number_literal ]) = (binary_expression "(wint_t)(char)*local_80" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000146fa;" goto statement_identifier ;) })) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00014bd8;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;)) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) })) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" identifier = identifier) ;) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" identifier = (call_expression "FUN_00014fa0(local_80,sVar5)" identifier (argument_list "(local_80,sVar5)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier (argument_list "(local_74,pbVar3,uVar7,&local_8c)" ( identifier , identifier , identifier , (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }" if (parenthesized_expression "(local_7c == 0xffffffff)" ( (binary_expression "local_7c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n          local_7c = 1;\n          local_78 = '\0';\n        }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }" else (compound_statement "{\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }" { (if_statement "if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" if (parenthesized_expression "(local_7c != 0xfffffffe)" ( (binary_expression "local_7c != 0xfffffffe" identifier != number_literal) )) (compound_statement "{\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" { (if_statement "if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (compound_statement "{\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) goto LAB_00014bf7;" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (local_74[0] != 0) goto LAB_00014c16;" if (parenthesized_expression "(local_74[0] != 0)" ( (binary_expression "local_74[0] != 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00014c16;" goto statement_identifier ;)) })) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n              bVar2 = false;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              bVar2 = false;\n            }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) })) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000146fa;" goto statement_identifier ;) })) (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" identifier = (call_expression "strlen((char *)local_80)" identifier (argument_list "((char *)local_80)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) }) (else_clause "else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }" else (if_statement "if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }" if (parenthesized_expression "(local_78 != '\0')" ( (binary_expression "local_78 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }" { (labeled_statement "LAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }" statement_identifier : (if_statement "if (local_74[0] == 0) {\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }" if (parenthesized_expression "(local_74[0] == 0)" ( (binary_expression "local_74[0] == 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nFUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }" { (labeled_statement "FUN_00012500:\n                    /* WARNING: Subroutine does not return */\n          abort();" statement_identifier : comment (expression_statement "abort();" (call_expression "abort()" identifier (argument_list "()" ( ))) ;)) }))) })))) (expression_statement "local_80 = local_80 + local_7c;" (assignment_expression "local_80 = local_80 + local_7c" identifier = (binary_expression "local_80 + local_7c" identifier + identifier)) ;) (expression_statement "local_48 = local_48 + local_44;" (assignment_expression "local_48 = local_48 + local_44" identifier = (binary_expression "local_48 + local_44" identifier + identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) }))) (labeled_statement "LAB_00014402:\n  local_a1 = false;" statement_identifier : (expression_statement "local_a1 = false;" (assignment_expression "local_a1 = false" identifier = false) ;)) (labeled_statement "LAB_00014407:\n  free(__s);" statement_identifier : (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;)) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00019640();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00019640();\n  }" { comment (expression_statement "FUN_00019640();" (call_expression "FUN_00019640()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return local_a1;" return identifier ;) (labeled_statement "LAB_000147c3:\n  local_4c = 1;" statement_identifier : (expression_statement "local_4c = 1;" (assignment_expression "local_4c = 1" identifier = number_literal) ;)) (if_statement "if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }" if (parenthesized_expression "(local_84 == '\0')" ( (binary_expression "local_84 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }" { (if_statement "if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }" { (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }" if (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0)" ( (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (binary_expression "&DAT_0001b360 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0001b360" & identifier) + (binary_expression "(uint)(*local_80 >> 5) * 4" (call_expression "(uint)(*local_80 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_80 >> 5)" ( (binary_expression "*local_80 >> 5" (pointer_expression "*local_80" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*local_80 & 0x1f)" ( (binary_expression "*local_80 & 0x1f" (pointer_expression "*local_80" * identifier) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "wVar9 = (wint_t)(char)*local_80;" (assignment_expression "wVar9 = (wint_t)(char)*local_80" identifier = (binary_expression "(wint_t)(char)*local_80" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_74[0] = wVar9;" (assignment_expression "local_74[0] = wVar9" (subscript_expression "local_74[0]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00014819;" goto statement_identifier ;) })) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00014bd8;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;)) })) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" identifier = identifier) ;) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" identifier = (call_expression "FUN_00014fa0(local_80,sVar5)" identifier (argument_list "(local_80,sVar5)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier (argument_list "(local_74,pbVar3,uVar7,&local_8c)" ( identifier , identifier , identifier , (pointer_expression "&local_8c" & identifier) )))) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) (if_statement "if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }" if (parenthesized_expression "(local_7c == 0xffffffff)" ( (binary_expression "local_7c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0001481d;" goto statement_identifier ;) })) (if_statement "if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }" if (parenthesized_expression "(local_7c == 0xfffffffe)" ( (binary_expression "local_7c == 0xfffffffe" identifier == number_literal) )) (compound_statement "{\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }" { (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" identifier = (call_expression "strlen((char *)local_80)" identifier (argument_list "((char *)local_80)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0001481d;" goto statement_identifier ;) })) (if_statement "if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }" if (parenthesized_expression "(local_7c != 0)" ( (binary_expression "local_7c != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }" { (labeled_statement "LAB_00014a6b:\n      local_78 = '\x01';" statement_identifier : (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;)) (expression_statement "mbsinit(&local_8c);" (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) ))) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_00014819;" goto statement_identifier ;) })) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) goto LAB_00014bf7;" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (local_74[0] == 0) goto LAB_00014a6b;" if (parenthesized_expression "(local_74[0] == 0)" ( (binary_expression "local_74[0] == 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00014a6b;" goto statement_identifier ;)) (labeled_statement "LAB_00014b87:\n    local_7c = 1;" statement_identifier : (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;)) (expression_statement "FUN_00014310();" (call_expression "FUN_00014310()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00014b90:\n    local_7c = strlen((char *)local_80);" statement_identifier : (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" identifier = (call_expression "strlen((char *)local_80)" identifier (argument_list "((char *)local_80)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) }) (else_clause "else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }" else (compound_statement "{\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }" { (if_statement "if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" if (parenthesized_expression "(local_78 == '\0')" ( (binary_expression "local_78 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }" { (labeled_statement "LAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;" statement_identifier : (if_statement "if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;" if (parenthesized_expression "((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0))" ( (binary_expression "(local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)" (parenthesized_expression "(local_78 == '\0')" ( (binary_expression "local_78 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(iVar8 = iswalnum(wVar9), iVar8 == 0)" ( (comma_expression "iVar8 = iswalnum(wVar9), iVar8 == 0" (assignment_expression "iVar8 = iswalnum(wVar9)" identifier = (call_expression "iswalnum(wVar9)" identifier (argument_list "(wVar9)" ( identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00014834;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" else (compound_statement "{\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" { (labeled_statement "LAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;" statement_identifier : (if_statement "if (wVar9 != 0) goto LAB_0001481d;" if (parenthesized_expression "(wVar9 != 0)" ( (binary_expression "wVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001481d;" goto statement_identifier ;))) (labeled_statement "LAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;" statement_identifier : (if_statement "if (local_a1 != false) goto LAB_00014407;" if (parenthesized_expression "(local_a1 != false)" ( (binary_expression "local_a1 != false" identifier != false) )) (goto_statement "goto LAB_00014407;" goto statement_identifier ;))) }))) (expression_statement "local_8c.__value.__wch = 0;" (assignment_expression "local_8c.__value.__wch = 0" (field_expression "local_8c.__value.__wch" (field_expression "local_8c.__value" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_8c.__count = 0;" (assignment_expression "local_8c.__count = 0" (field_expression "local_8c.__count" identifier . field_identifier) = number_literal) ;) (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }" if (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4)" ( (binary_expression "&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4" (pointer_expression "&DAT_0001b360" & identifier) + (binary_expression "(uint)(*pbVar4 >> 5) * 4" (call_expression "(uint)(*pbVar4 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*pbVar4 >> 5)" ( (binary_expression "*pbVar4 >> 5" (pointer_expression "*pbVar4" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*pbVar4 & 0x1f)" ( (binary_expression "*pbVar4 & 0x1f" (pointer_expression "*pbVar4" * identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }" { (expression_statement "local_80 = pbVar4;" (assignment_expression "local_80 = pbVar4" identifier = identifier) ;) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }" { (labeled_statement "LAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");" statement_identifier : comment (expression_statement "__assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");" (call_expression "__assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next")" identifier (argument_list "("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next")" ( (string_literal ""mbsinit (&iter->state)"" " string_content ") , (string_literal ""mbuiter.h"" " string_content ") , number_literal , (string_literal ""mbuiter_multi_next"" " string_content ") ))) ;)) })) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" identifier = identifier) ;) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" identifier = (call_expression "FUN_00014fa0(local_80,sVar5)" identifier (argument_list "(local_80,sVar5)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier (argument_list "(local_74,pbVar3,uVar7,&local_8c)" ( identifier , identifier , identifier , (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }" if (parenthesized_expression "(local_7c == 0xffffffff)" ( (binary_expression "local_7c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        local_7c = 1;\n        goto LAB_0001489d;\n      }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001489d;" goto statement_identifier ;) })) (if_statement "if (local_7c == 0xfffffffe) goto LAB_00014b90;" if (parenthesized_expression "(local_7c == 0xfffffffe)" ( (binary_expression "local_7c == 0xfffffffe" identifier == number_literal) )) (goto_statement "goto LAB_00014b90;" goto statement_identifier ;)) (if_statement "if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (compound_statement "{\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (compound_statement "{\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }" { (labeled_statement "LAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");" statement_identifier : comment (expression_statement "__assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");" (call_expression "__assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next")" identifier (argument_list "("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next")" ( (string_literal ""*iter->cur.ptr == \'\\0\'"" " string_content escape_sequence escape_sequence string_content escape_sequence ") , (string_literal ""mbuiter.h"" " string_content ") , number_literal , (string_literal ""mbuiter_multi_next"" " string_content ") ))) ;)) })) (if_statement "if (local_74[0] != 0) goto LAB_00014b87;" if (parenthesized_expression "(local_74[0] != 0)" ( (binary_expression "local_74[0] != 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00014b87;" goto statement_identifier ;)) })) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "mbsinit(&local_8c);" (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) ))) ;) }) (else_clause "else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }" else (compound_statement "{\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_74[0] = (wint_t)(char)*pbVar4;" (assignment_expression "local_74[0] = (wint_t)(char)*pbVar4" (subscript_expression "local_74[0]" identifier [ number_literal ]) = (binary_expression "(wint_t)(char)*pbVar4" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_80 = pbVar4;" (assignment_expression "local_80 = pbVar4" identifier = identifier) ;) }))) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (local_74[0] == 0) goto LAB_00014402;" if (parenthesized_expression "(local_74[0] == 0)" ( (binary_expression "local_74[0] == 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00014402;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0001489d:\n  param_1 = pbVar4 + local_7c;" statement_identifier : (expression_statement "param_1 = pbVar4 + local_7c;" (assignment_expression "param_1 = pbVar4 + local_7c" identifier = (binary_expression "pbVar4 + local_7c" identifier + identifier)) ;)) (goto_statement "goto LAB_00014380;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\n_Bool __regparm3 mbsstr_trimmed_wordbounded(char *string,char *sub)\n\n{\n  mbstate_t *__ps;\n  mbstate_t *__ps_00;\n  int iVar1;\n  byte bVar2;\n  char *pcVar3;\n  char *needle;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  size_t sVar7;\n  int iVar8;\n  wchar_t wVar9;\n  int in_GS_OFFSET;\n  mbuiter_multi *in_stack_ffffff44;\n  _Bool local_a1;\n  mbui_iterator_t string_iter;\n  mbui_iterator_t tsub_iter;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  needle = trim2(sub,2);\nLAB_00014380:\n  if (*string != 0) {\n    while( true ) {\n      pbVar4 = (byte *)mbsstr(string,needle);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen(needle);\n      if (((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)) goto LAB_00014402;\n    }\n    __ps = &string_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = string;\n    if (string < pbVar4) {\n      do {\n        string_iter.next_done = false;\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }\n        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n        string_iter.next_done = false;\n      } while (string_iter.cur.ptr < pbVar4);\n      if (string_iter.cur.wc_valid != false) {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    string_iter.state.__value.__wch = 0;\n    __ps_00 = &tsub_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    tsub_iter.in_shift = false;\n    tsub_iter.state.__count = 0;\n    tsub_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = (char *)pbVar4;\n    tsub_iter.cur.ptr = needle;\n    do {\n      tsub_iter.next_done = false;\n      string_iter.next_done = false;\n      if (tsub_iter.in_shift == false) {\n        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        tsub_iter.cur.bytes = 1;\n        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;\n        tsub_iter.cur.wc_valid = true;\n        wVar9 = string_iter.cur.wc;\njoined_r0x000146a5:\n        string_iter.cur.wc = wVar9;\n        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }\n      tsub_iter.next_done = true;\n      if (string_iter.next_done == false) {\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = string_iter.cur.ptr;\n        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n        if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }\n      }\n      else if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n      tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(needle);\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_a1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_000147c3:\n  tsub_iter.next_done = true;\n  if (string_iter.next_done == false) {\n    if (string_iter.in_shift == false) {\n      if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n        string_iter.cur.bytes = 1;\n        wVar9 = (wchar_t)*string_iter.cur.ptr;\n        string_iter.cur.wc_valid = true;\n        string_iter.next_done = true;\n        string_iter.cur.wc = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) goto LAB_00014bd8;\n      string_iter.in_shift = true;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pcVar3 = string_iter.cur.ptr;\n    sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n    string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n    wVar9 = string_iter.cur.wc;\n    if (string_iter.cur.bytes == 0xffffffff) {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      goto LAB_0001481d;\n    }\n    if (string_iter.cur.bytes == 0xfffffffe) {\n      string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      wVar9 = string_iter.cur.wc;\n      goto LAB_0001481d;\n    }\n    if (string_iter.cur.bytes != 0) {\nLAB_00014a6b:\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n      string_iter.next_done = true;\n      goto LAB_00014819;\n    }\n    string_iter.cur.bytes = 1;\n    if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014a6b;\nLAB_00014b87:\n    string_iter.cur.bytes = 1;\n    mbuiter_multi_next(in_stack_ffffff44);\nLAB_00014b90:\n    string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n  }\n  else {\n    if (string_iter.cur.wc_valid == false) {\nLAB_0001481d:\n      if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))\n      goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != L'\0') goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    string_iter.state.__value.__wch = 0;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.next_done = false;\n    if ((*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      string_iter.cur.ptr = (char *)pbVar4;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      string_iter.in_shift = true;\n      sVar5 = __ctype_get_mb_cur_max();\n      pcVar3 = string_iter.cur.ptr;\n      sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n      string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n      if (string_iter.cur.bytes == 0xffffffff) {\n        string_iter.cur.bytes = 1;\n        goto LAB_0001489d;\n      }\n      if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;\n      if (string_iter.cur.bytes == 0) {\n        string_iter.cur.bytes = 1;\n        if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;\n      }\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n    }\n    else {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc = (wchar_t)(char)*pbVar4;\n      string_iter.cur.wc_valid = true;\n      string_iter.cur.ptr = (char *)pbVar4;\n    }\n    string_iter.next_done = true;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014402;\n  }\nLAB_0001489d:\n  string = (char *)(pbVar4 + string_iter.cur.bytes);\n  goto LAB_00014380;\n}\n\n" comment (function_definition "_Bool __regparm3 mbsstr_trimmed_wordbounded(char *string,char *sub)\n\n{\n  mbstate_t *__ps;\n  mbstate_t *__ps_00;\n  int iVar1;\n  byte bVar2;\n  char *pcVar3;\n  char *needle;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  size_t sVar7;\n  int iVar8;\n  wchar_t wVar9;\n  int in_GS_OFFSET;\n  mbuiter_multi *in_stack_ffffff44;\n  _Bool local_a1;\n  mbui_iterator_t string_iter;\n  mbui_iterator_t tsub_iter;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  needle = trim2(sub,2);\nLAB_00014380:\n  if (*string != 0) {\n    while( true ) {\n      pbVar4 = (byte *)mbsstr(string,needle);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen(needle);\n      if (((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)) goto LAB_00014402;\n    }\n    __ps = &string_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = string;\n    if (string < pbVar4) {\n      do {\n        string_iter.next_done = false;\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }\n        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n        string_iter.next_done = false;\n      } while (string_iter.cur.ptr < pbVar4);\n      if (string_iter.cur.wc_valid != false) {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    string_iter.state.__value.__wch = 0;\n    __ps_00 = &tsub_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    tsub_iter.in_shift = false;\n    tsub_iter.state.__count = 0;\n    tsub_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = (char *)pbVar4;\n    tsub_iter.cur.ptr = needle;\n    do {\n      tsub_iter.next_done = false;\n      string_iter.next_done = false;\n      if (tsub_iter.in_shift == false) {\n        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        tsub_iter.cur.bytes = 1;\n        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;\n        tsub_iter.cur.wc_valid = true;\n        wVar9 = string_iter.cur.wc;\njoined_r0x000146a5:\n        string_iter.cur.wc = wVar9;\n        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }\n      tsub_iter.next_done = true;\n      if (string_iter.next_done == false) {\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = string_iter.cur.ptr;\n        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n        if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }\n      }\n      else if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n      tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(needle);\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_a1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_000147c3:\n  tsub_iter.next_done = true;\n  if (string_iter.next_done == false) {\n    if (string_iter.in_shift == false) {\n      if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n        string_iter.cur.bytes = 1;\n        wVar9 = (wchar_t)*string_iter.cur.ptr;\n        string_iter.cur.wc_valid = true;\n        string_iter.next_done = true;\n        string_iter.cur.wc = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) goto LAB_00014bd8;\n      string_iter.in_shift = true;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pcVar3 = string_iter.cur.ptr;\n    sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n    string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n    wVar9 = string_iter.cur.wc;\n    if (string_iter.cur.bytes == 0xffffffff) {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      goto LAB_0001481d;\n    }\n    if (string_iter.cur.bytes == 0xfffffffe) {\n      string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      wVar9 = string_iter.cur.wc;\n      goto LAB_0001481d;\n    }\n    if (string_iter.cur.bytes != 0) {\nLAB_00014a6b:\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n      string_iter.next_done = true;\n      goto LAB_00014819;\n    }\n    string_iter.cur.bytes = 1;\n    if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014a6b;\nLAB_00014b87:\n    string_iter.cur.bytes = 1;\n    mbuiter_multi_next(in_stack_ffffff44);\nLAB_00014b90:\n    string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n  }\n  else {\n    if (string_iter.cur.wc_valid == false) {\nLAB_0001481d:\n      if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))\n      goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != L'\0') goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    string_iter.state.__value.__wch = 0;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.next_done = false;\n    if ((*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      string_iter.cur.ptr = (char *)pbVar4;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      string_iter.in_shift = true;\n      sVar5 = __ctype_get_mb_cur_max();\n      pcVar3 = string_iter.cur.ptr;\n      sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n      string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n      if (string_iter.cur.bytes == 0xffffffff) {\n        string_iter.cur.bytes = 1;\n        goto LAB_0001489d;\n      }\n      if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;\n      if (string_iter.cur.bytes == 0) {\n        string_iter.cur.bytes = 1;\n        if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;\n      }\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n    }\n    else {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc = (wchar_t)(char)*pbVar4;\n      string_iter.cur.wc_valid = true;\n      string_iter.cur.ptr = (char *)pbVar4;\n    }\n    string_iter.next_done = true;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014402;\n  }\nLAB_0001489d:\n  string = (char *)(pbVar4 + string_iter.cur.bytes);\n  goto LAB_00014380;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "mbsstr_trimmed_wordbounded(char *string,char *sub)" identifier (parameter_list "(char *string,char *sub)" ( (parameter_declaration "char *string" primitive_type (pointer_declarator "*string" * identifier)) , (parameter_declaration "char *sub" primitive_type (pointer_declarator "*sub" * identifier)) ))) (compound_statement "{\n  mbstate_t *__ps;\n  mbstate_t *__ps_00;\n  int iVar1;\n  byte bVar2;\n  char *pcVar3;\n  char *needle;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  size_t sVar7;\n  int iVar8;\n  wchar_t wVar9;\n  int in_GS_OFFSET;\n  mbuiter_multi *in_stack_ffffff44;\n  _Bool local_a1;\n  mbui_iterator_t string_iter;\n  mbui_iterator_t tsub_iter;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  needle = trim2(sub,2);\nLAB_00014380:\n  if (*string != 0) {\n    while( true ) {\n      pbVar4 = (byte *)mbsstr(string,needle);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen(needle);\n      if (((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)) goto LAB_00014402;\n    }\n    __ps = &string_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = string;\n    if (string < pbVar4) {\n      do {\n        string_iter.next_done = false;\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }\n        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n        string_iter.next_done = false;\n      } while (string_iter.cur.ptr < pbVar4);\n      if (string_iter.cur.wc_valid != false) {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    string_iter.state.__value.__wch = 0;\n    __ps_00 = &tsub_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    tsub_iter.in_shift = false;\n    tsub_iter.state.__count = 0;\n    tsub_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = (char *)pbVar4;\n    tsub_iter.cur.ptr = needle;\n    do {\n      tsub_iter.next_done = false;\n      string_iter.next_done = false;\n      if (tsub_iter.in_shift == false) {\n        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        tsub_iter.cur.bytes = 1;\n        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;\n        tsub_iter.cur.wc_valid = true;\n        wVar9 = string_iter.cur.wc;\njoined_r0x000146a5:\n        string_iter.cur.wc = wVar9;\n        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }\n      tsub_iter.next_done = true;\n      if (string_iter.next_done == false) {\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = string_iter.cur.ptr;\n        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n        if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }\n      }\n      else if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n      tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(needle);\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_a1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_000147c3:\n  tsub_iter.next_done = true;\n  if (string_iter.next_done == false) {\n    if (string_iter.in_shift == false) {\n      if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n        string_iter.cur.bytes = 1;\n        wVar9 = (wchar_t)*string_iter.cur.ptr;\n        string_iter.cur.wc_valid = true;\n        string_iter.next_done = true;\n        string_iter.cur.wc = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) goto LAB_00014bd8;\n      string_iter.in_shift = true;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pcVar3 = string_iter.cur.ptr;\n    sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n    string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n    wVar9 = string_iter.cur.wc;\n    if (string_iter.cur.bytes == 0xffffffff) {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      goto LAB_0001481d;\n    }\n    if (string_iter.cur.bytes == 0xfffffffe) {\n      string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      wVar9 = string_iter.cur.wc;\n      goto LAB_0001481d;\n    }\n    if (string_iter.cur.bytes != 0) {\nLAB_00014a6b:\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n      string_iter.next_done = true;\n      goto LAB_00014819;\n    }\n    string_iter.cur.bytes = 1;\n    if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014a6b;\nLAB_00014b87:\n    string_iter.cur.bytes = 1;\n    mbuiter_multi_next(in_stack_ffffff44);\nLAB_00014b90:\n    string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n  }\n  else {\n    if (string_iter.cur.wc_valid == false) {\nLAB_0001481d:\n      if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))\n      goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != L'\0') goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    string_iter.state.__value.__wch = 0;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.next_done = false;\n    if ((*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      string_iter.cur.ptr = (char *)pbVar4;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      string_iter.in_shift = true;\n      sVar5 = __ctype_get_mb_cur_max();\n      pcVar3 = string_iter.cur.ptr;\n      sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n      string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n      if (string_iter.cur.bytes == 0xffffffff) {\n        string_iter.cur.bytes = 1;\n        goto LAB_0001489d;\n      }\n      if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;\n      if (string_iter.cur.bytes == 0) {\n        string_iter.cur.bytes = 1;\n        if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;\n      }\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n    }\n    else {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc = (wchar_t)(char)*pbVar4;\n      string_iter.cur.wc_valid = true;\n      string_iter.cur.ptr = (char *)pbVar4;\n    }\n    string_iter.next_done = true;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014402;\n  }\nLAB_0001489d:\n  string = (char *)(pbVar4 + string_iter.cur.bytes);\n  goto LAB_00014380;\n}" { (declaration "mbstate_t *__ps;" type_identifier (pointer_declarator "*__ps" * identifier) ;) (declaration "mbstate_t *__ps_00;" type_identifier (pointer_declarator "*__ps_00" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "char *needle;" primitive_type (pointer_declarator "*needle" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "ushort **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "wchar_t wVar9;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "mbuiter_multi *in_stack_ffffff44;" type_identifier (pointer_declarator "*in_stack_ffffff44" * identifier) ;) (declaration "_Bool local_a1;" type_identifier identifier ;) (declaration "mbui_iterator_t string_iter;" type_identifier identifier ;) (declaration "mbui_iterator_t tsub_iter;" type_identifier identifier ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "needle = trim2(sub,2);" (assignment_expression "needle = trim2(sub,2)" identifier = (call_expression "trim2(sub,2)" identifier (argument_list "(sub,2)" ( identifier , number_literal )))) ;) (labeled_statement "LAB_00014380:\n  if (*string != 0) {\n    while( true ) {\n      pbVar4 = (byte *)mbsstr(string,needle);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen(needle);\n      if (((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)) goto LAB_00014402;\n    }\n    __ps = &string_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = string;\n    if (string < pbVar4) {\n      do {\n        string_iter.next_done = false;\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }\n        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n        string_iter.next_done = false;\n      } while (string_iter.cur.ptr < pbVar4);\n      if (string_iter.cur.wc_valid != false) {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    string_iter.state.__value.__wch = 0;\n    __ps_00 = &tsub_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    tsub_iter.in_shift = false;\n    tsub_iter.state.__count = 0;\n    tsub_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = (char *)pbVar4;\n    tsub_iter.cur.ptr = needle;\n    do {\n      tsub_iter.next_done = false;\n      string_iter.next_done = false;\n      if (tsub_iter.in_shift == false) {\n        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        tsub_iter.cur.bytes = 1;\n        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;\n        tsub_iter.cur.wc_valid = true;\n        wVar9 = string_iter.cur.wc;\njoined_r0x000146a5:\n        string_iter.cur.wc = wVar9;\n        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }\n      tsub_iter.next_done = true;\n      if (string_iter.next_done == false) {\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = string_iter.cur.ptr;\n        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n        if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }\n      }\n      else if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n      tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;\n    } while( true );\n  }" statement_identifier : (if_statement "if (*string != 0) {\n    while( true ) {\n      pbVar4 = (byte *)mbsstr(string,needle);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen(needle);\n      if (((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)) goto LAB_00014402;\n    }\n    __ps = &string_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = string;\n    if (string < pbVar4) {\n      do {\n        string_iter.next_done = false;\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }\n        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n        string_iter.next_done = false;\n      } while (string_iter.cur.ptr < pbVar4);\n      if (string_iter.cur.wc_valid != false) {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    string_iter.state.__value.__wch = 0;\n    __ps_00 = &tsub_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    tsub_iter.in_shift = false;\n    tsub_iter.state.__count = 0;\n    tsub_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = (char *)pbVar4;\n    tsub_iter.cur.ptr = needle;\n    do {\n      tsub_iter.next_done = false;\n      string_iter.next_done = false;\n      if (tsub_iter.in_shift == false) {\n        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        tsub_iter.cur.bytes = 1;\n        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;\n        tsub_iter.cur.wc_valid = true;\n        wVar9 = string_iter.cur.wc;\njoined_r0x000146a5:\n        string_iter.cur.wc = wVar9;\n        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }\n      tsub_iter.next_done = true;\n      if (string_iter.next_done == false) {\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = string_iter.cur.ptr;\n        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n        if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }\n      }\n      else if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n      tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;\n    } while( true );\n  }" if (parenthesized_expression "(*string != 0)" ( (binary_expression "*string != 0" (pointer_expression "*string" * identifier) != number_literal) )) (compound_statement "{\n    while( true ) {\n      pbVar4 = (byte *)mbsstr(string,needle);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen(needle);\n      if (((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)) goto LAB_00014402;\n    }\n    __ps = &string_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = string;\n    if (string < pbVar4) {\n      do {\n        string_iter.next_done = false;\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }\n        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n        string_iter.next_done = false;\n      } while (string_iter.cur.ptr < pbVar4);\n      if (string_iter.cur.wc_valid != false) {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    string_iter.state.__value.__wch = 0;\n    __ps_00 = &tsub_iter.state;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    tsub_iter.in_shift = false;\n    tsub_iter.state.__count = 0;\n    tsub_iter.state.__value.__wch = 0;\n    string_iter.cur.ptr = (char *)pbVar4;\n    tsub_iter.cur.ptr = needle;\n    do {\n      tsub_iter.next_done = false;\n      string_iter.next_done = false;\n      if (tsub_iter.in_shift == false) {\n        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        tsub_iter.cur.bytes = 1;\n        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;\n        tsub_iter.cur.wc_valid = true;\n        wVar9 = string_iter.cur.wc;\njoined_r0x000146a5:\n        string_iter.cur.wc = wVar9;\n        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }\n      tsub_iter.next_done = true;\n      if (string_iter.next_done == false) {\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = string_iter.cur.ptr;\n        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n        if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }\n      }\n      else if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n      tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;\n    } while( true );\n  }" { (while_statement "while( true ) {\n      pbVar4 = (byte *)mbsstr(string,needle);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen(needle);\n      if (((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)) goto LAB_00014402;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pbVar4 = (byte *)mbsstr(string,needle);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen(needle);\n      if (((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)) goto LAB_00014402;\n    }" { (expression_statement "pbVar4 = (byte *)mbsstr(string,needle);" (assignment_expression "pbVar4 = (byte *)mbsstr(string,needle)" identifier = (cast_expression "(byte *)mbsstr(string,needle)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "mbsstr(string,needle)" identifier (argument_list "(string,needle)" ( identifier , identifier ))))) ;) (if_statement "if (pbVar4 == (byte *)0x0) goto LAB_00014402;" if (parenthesized_expression "(pbVar4 == (byte *)0x0)" ( (binary_expression "pbVar4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014402;" goto statement_identifier ;)) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (if_statement "if (1 < sVar5) break;" if (parenthesized_expression "(1 < sVar5)" ( (binary_expression "1 < sVar5" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "sVar5 = strlen(needle);" (assignment_expression "sVar5 = strlen(needle)" identifier = (call_expression "strlen(needle)" identifier (argument_list "(needle)" ( identifier )))) ;) (if_statement "if (((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }" if (parenthesized_expression "(((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0))))" ( (binary_expression "((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))" (parenthesized_expression "((pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0))" ( (binary_expression "(pbVar4 <= string) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)" (parenthesized_expression "(pbVar4 <= string)" ( (binary_expression "pbVar4 <= string" identifier <= identifier) )) || (parenthesized_expression "(ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)" ( (comma_expression "ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0" (assignment_expression "ppuVar6 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) , (binary_expression "((*ppuVar6)[pbVar4[-1]] & 8) == 0" (parenthesized_expression "((*ppuVar6)[pbVar4[-1]] & 8)" ( (binary_expression "(*ppuVar6)[pbVar4[-1]] & 8" (subscript_expression "(*ppuVar6)[pbVar4[-1]]" (parenthesized_expression "(*ppuVar6)" ( (pointer_expression "*ppuVar6" * identifier) )) [ (subscript_expression "pbVar4[-1]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "((bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)))" ( (parenthesized_expression "(bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0))" ( (comma_expression "bVar2 = pbVar4[sVar5], bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)" (assignment_expression "bVar2 = pbVar4[sVar5]" identifier = (subscript_expression "pbVar4[sVar5]" identifier [ identifier ])) , (binary_expression "bVar2 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)" (binary_expression "bVar2 == 0" identifier == number_literal) || (parenthesized_expression "(ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0)" ( (comma_expression "ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar2] & 8) == 0" (assignment_expression "ppuVar6 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) , (binary_expression "((*ppuVar6)[bVar2] & 8) == 0" (parenthesized_expression "((*ppuVar6)[bVar2] & 8)" ( (binary_expression "(*ppuVar6)[bVar2] & 8" (subscript_expression "(*ppuVar6)[bVar2]" (parenthesized_expression "(*ppuVar6)" ( (pointer_expression "*ppuVar6" * identifier) )) [ identifier ]) & number_literal) )) == number_literal)) )))) )) ))) )) (compound_statement "{\n        local_a1 = true;\n        goto LAB_00014407;\n      }" { (expression_statement "local_a1 = true;" (assignment_expression "local_a1 = true" identifier = true) ;) (goto_statement "goto LAB_00014407;" goto statement_identifier ;) })) (if_statement "if ((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)) goto LAB_00014402;" if (parenthesized_expression "((*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0))" ( (binary_expression "(*pbVar4 == 0) || (string = (char *)(pbVar4 + 1), *string == 0)" (parenthesized_expression "(*pbVar4 == 0)" ( (binary_expression "*pbVar4 == 0" (pointer_expression "*pbVar4" * identifier) == number_literal) )) || (parenthesized_expression "(string = (char *)(pbVar4 + 1), *string == 0)" ( (comma_expression "string = (char *)(pbVar4 + 1), *string == 0" (assignment_expression "string = (char *)(pbVar4 + 1)" identifier = (cast_expression "(char *)(pbVar4 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar4 + 1)" ( (binary_expression "pbVar4 + 1" identifier + number_literal) )))) , (binary_expression "*string == 0" (pointer_expression "*string" * identifier) == number_literal)) ))) )) (goto_statement "goto LAB_00014402;" goto statement_identifier ;)) })) (expression_statement "__ps = &string_iter.state;" (assignment_expression "__ps = &string_iter.state" identifier = (pointer_expression "&string_iter.state" & (field_expression "string_iter.state" identifier . field_identifier))) ;) (expression_statement "string_iter.in_shift = false;" (assignment_expression "string_iter.in_shift = false" (field_expression "string_iter.in_shift" identifier . field_identifier) = false) ;) (expression_statement "string_iter.state.__count = 0;" (assignment_expression "string_iter.state.__count = 0" (field_expression "string_iter.state.__count" (field_expression "string_iter.state" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "string_iter.state.__value.__wch = 0;" (assignment_expression "string_iter.state.__value.__wch = 0" (field_expression "string_iter.state.__value.__wch" (field_expression "string_iter.state.__value" (field_expression "string_iter.state" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "string_iter.cur.ptr = string;" (assignment_expression "string_iter.cur.ptr = string" (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (string < pbVar4) {\n      do {\n        string_iter.next_done = false;\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }\n        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n        string_iter.next_done = false;\n      } while (string_iter.cur.ptr < pbVar4);\n      if (string_iter.cur.wc_valid != false) {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }" if (parenthesized_expression "(string < pbVar4)" ( (binary_expression "string < pbVar4" identifier < identifier) )) (compound_statement "{\n      do {\n        string_iter.next_done = false;\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }\n        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n        string_iter.next_done = false;\n      } while (string_iter.cur.ptr < pbVar4);\n      if (string_iter.cur.wc_valid != false) {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }" { (do_statement "do {\n        string_iter.next_done = false;\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }\n        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n        string_iter.next_done = false;\n      } while (string_iter.cur.ptr < pbVar4);" do (compound_statement "{\n        string_iter.next_done = false;\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }\n        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n        string_iter.next_done = false;\n      }" { (expression_statement "string_iter.next_done = false;" (assignment_expression "string_iter.next_done = false" (field_expression "string_iter.next_done" identifier . field_identifier) = false) ;) (if_statement "if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }\n        else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }" if (parenthesized_expression "(string_iter.in_shift == false)" ( (binary_expression "string_iter.in_shift == false" (field_expression "string_iter.in_shift" identifier . field_identifier) == false) )) (compound_statement "{\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          string_iter.cur.bytes = 1;\n          wVar9 = (wchar_t)*string_iter.cur.ptr;\n          string_iter.cur.wc_valid = true;\n          string_iter.cur.wc = wVar9;\nLAB_000144b2:\n          string_iter.next_done = true;\n          if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;\n        }" { (if_statement "if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }" if (parenthesized_expression "((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0)" ( (binary_expression "(*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) == 0" (parenthesized_expression "(*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1)" ( (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1" (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU)" (pointer_expression "*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4)" * (cast_expression "(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4)" ( (binary_expression "is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4" identifier + (binary_expression "(uint)((byte)*string_iter.cur.ptr >> 5) * 4" (call_expression "(uint)((byte)*string_iter.cur.ptr >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)*string_iter.cur.ptr >> 5)" ( (binary_expression "(byte)*string_iter.cur.ptr >> 5" (binary_expression "(byte)*string_iter.cur.ptr" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*string_iter.cur.ptr & 0x1fU)" ( (binary_expression "*string_iter.cur.ptr & 0x1fU" (pointer_expression "*string_iter.cur.ptr" * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }" { (expression_statement "iVar8 = mbsinit((mbstate_t *)__ps);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)__ps)" identifier = (call_expression "mbsinit((mbstate_t *)__ps)" identifier (argument_list "((mbstate_t *)__ps)" ( (cast_expression "(mbstate_t *)__ps" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              string_iter.in_shift = true;\n              goto LAB_000144df;\n            }" { (expression_statement "string_iter.in_shift = true;" (assignment_expression "string_iter.in_shift = true" (field_expression "string_iter.in_shift" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_000144df;" goto statement_identifier ;) })) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;) })) (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "wVar9 = (wchar_t)*string_iter.cur.ptr;" (assignment_expression "wVar9 = (wchar_t)*string_iter.cur.ptr" identifier = (binary_expression "(wchar_t)*string_iter.cur.ptr" (parenthesized_expression "(wchar_t)" ( identifier )) * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "string_iter.cur.wc_valid = true;" (assignment_expression "string_iter.cur.wc_valid = true" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "string_iter.cur.wc = wVar9;" (assignment_expression "string_iter.cur.wc = wVar9" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = identifier) ;) (labeled_statement "LAB_000144b2:\n          string_iter.next_done = true;" statement_identifier : (expression_statement "string_iter.next_done = true;" (assignment_expression "string_iter.next_done = true" (field_expression "string_iter.next_done" identifier . field_identifier) = true) ;)) (if_statement "if (wVar9 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;" if (parenthesized_expression "(wVar9 == L'\0')" ( (binary_expression "wVar9 == L'\0'" identifier == (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto mbsstr_trimmed_wordbounded_cold_1;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }" else (compound_statement "{\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pcVar3 = string_iter.cur.ptr;\n          sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n          string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n          wVar9 = string_iter.cur.wc;\n          if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }\n        }" { (labeled_statement "LAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();" statement_identifier : (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pcVar3 = string_iter.cur.ptr;" (assignment_expression "pcVar3 = string_iter.cur.ptr" identifier = (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) ;) (expression_statement "sVar7 = strnlen1(string_iter.cur.ptr,sVar5);" (assignment_expression "sVar7 = strnlen1(string_iter.cur.ptr,sVar5)" identifier = (call_expression "strnlen1(string_iter.cur.ptr,sVar5)" identifier (argument_list "(string_iter.cur.ptr,sVar5)" ( (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);" (assignment_expression "string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps)" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (call_expression "rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps)" identifier (argument_list "(&string_iter.cur.wc,pcVar3,sVar7,__ps)" ( (pointer_expression "&string_iter.cur.wc" & (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) , identifier , identifier , identifier )))) ;) (expression_statement "wVar9 = string_iter.cur.wc;" (assignment_expression "wVar9 = string_iter.cur.wc" identifier = (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (string_iter.cur.bytes == 0xffffffff) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }\n          else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }" if (parenthesized_expression "(string_iter.cur.bytes == 0xffffffff)" ( (binary_expression "string_iter.cur.bytes == 0xffffffff" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc_valid = false;\n          }" { (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "string_iter.cur.wc_valid = false;" (assignment_expression "string_iter.cur.wc_valid = false" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = false) ;) }) (else_clause "else {\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }" else (compound_statement "{\n            if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }\n            string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n            string_iter.cur.wc_valid = false;\n            wVar9 = string_iter.cur.wc;\n          }" { (if_statement "if (string_iter.cur.bytes != 0xfffffffe) {\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }" if (parenthesized_expression "(string_iter.cur.bytes != 0xfffffffe)" ( (binary_expression "string_iter.cur.bytes != 0xfffffffe" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n              if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }\n              string_iter.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)__ps);\n              if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }\n              goto LAB_000144b2;\n            }" { (if_statement "if (string_iter.cur.bytes == 0) {\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }" if (parenthesized_expression "(string_iter.cur.bytes == 0)" ( (binary_expression "string_iter.cur.bytes == 0" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                string_iter.cur.bytes = 1;\n                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n              }" { (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;" if (parenthesized_expression "(*string_iter.cur.ptr != '\0')" ( (binary_expression "*string_iter.cur.ptr != '\0'" (pointer_expression "*string_iter.cur.ptr" * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (string_iter.cur.wc != L'\0') goto LAB_00014c16;" if (parenthesized_expression "(string_iter.cur.wc != L'\0')" ( (binary_expression "string_iter.cur.wc != L'\0'" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) != (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_00014c16;" goto statement_identifier ;)) })) (expression_statement "string_iter.cur.wc_valid = true;" (assignment_expression "string_iter.cur.wc_valid = true" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "iVar8 = mbsinit((mbstate_t *)__ps);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)__ps)" identifier = (call_expression "mbsinit((mbstate_t *)__ps)" identifier (argument_list "((mbstate_t *)__ps)" ( (cast_expression "(mbstate_t *)__ps" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n                string_iter.in_shift = false;\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                string_iter.in_shift = false;\n              }" { (expression_statement "string_iter.in_shift = false;" (assignment_expression "string_iter.in_shift = false" (field_expression "string_iter.in_shift" identifier . field_identifier) = false) ;) })) (goto_statement "goto LAB_000144b2;" goto statement_identifier ;) })) (expression_statement "string_iter.cur.bytes = strlen(string_iter.cur.ptr);" (assignment_expression "string_iter.cur.bytes = strlen(string_iter.cur.ptr)" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (call_expression "strlen(string_iter.cur.ptr)" identifier (argument_list "(string_iter.cur.ptr)" ( (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) )))) ;) (expression_statement "string_iter.cur.wc_valid = false;" (assignment_expression "string_iter.cur.wc_valid = false" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = false) ;) (expression_statement "wVar9 = string_iter.cur.wc;" (assignment_expression "wVar9 = string_iter.cur.wc" identifier = (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) ;) }))) }))) (expression_statement "string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;" (assignment_expression "string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes" (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (binary_expression "string_iter.cur.ptr + string_iter.cur.bytes" (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) + (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "string_iter.next_done = false;" (assignment_expression "string_iter.next_done = false" (field_expression "string_iter.next_done" identifier . field_identifier) = false) ;) }) while (parenthesized_expression "(string_iter.cur.ptr < pbVar4)" ( (binary_expression "string_iter.cur.ptr < pbVar4" (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) < identifier) )) ;) (if_statement "if (string_iter.cur.wc_valid != false) {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }" if (parenthesized_expression "(string_iter.cur.wc_valid != false)" ( (binary_expression "string_iter.cur.wc_valid != false" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) != false) )) (compound_statement "{\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }" { (expression_statement "iVar8 = iswalnum(wVar9);" (assignment_expression "iVar8 = iswalnum(wVar9)" identifier = (call_expression "iswalnum(wVar9)" identifier (argument_list "(wVar9)" ( identifier )))) ;) (expression_statement "local_a1 = iVar8 == 0;" (assignment_expression "local_a1 = iVar8 == 0" identifier = (binary_expression "iVar8 == 0" identifier == number_literal)) ;) (goto_statement "goto LAB_00014603;" goto statement_identifier ;) })) })) (expression_statement "local_a1 = true;" (assignment_expression "local_a1 = true" identifier = true) ;) (labeled_statement "LAB_00014603:\n    string_iter.state.__value.__wch = 0;" statement_identifier : (expression_statement "string_iter.state.__value.__wch = 0;" (assignment_expression "string_iter.state.__value.__wch = 0" (field_expression "string_iter.state.__value.__wch" (field_expression "string_iter.state.__value" (field_expression "string_iter.state" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;)) (expression_statement "__ps_00 = &tsub_iter.state;" (assignment_expression "__ps_00 = &tsub_iter.state" identifier = (pointer_expression "&tsub_iter.state" & (field_expression "tsub_iter.state" identifier . field_identifier))) ;) (expression_statement "string_iter.in_shift = false;" (assignment_expression "string_iter.in_shift = false" (field_expression "string_iter.in_shift" identifier . field_identifier) = false) ;) (expression_statement "string_iter.state.__count = 0;" (assignment_expression "string_iter.state.__count = 0" (field_expression "string_iter.state.__count" (field_expression "string_iter.state" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "tsub_iter.in_shift = false;" (assignment_expression "tsub_iter.in_shift = false" (field_expression "tsub_iter.in_shift" identifier . field_identifier) = false) ;) (expression_statement "tsub_iter.state.__count = 0;" (assignment_expression "tsub_iter.state.__count = 0" (field_expression "tsub_iter.state.__count" (field_expression "tsub_iter.state" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "tsub_iter.state.__value.__wch = 0;" (assignment_expression "tsub_iter.state.__value.__wch = 0" (field_expression "tsub_iter.state.__value.__wch" (field_expression "tsub_iter.state.__value" (field_expression "tsub_iter.state" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "string_iter.cur.ptr = (char *)pbVar4;" (assignment_expression "string_iter.cur.ptr = (char *)pbVar4" (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)pbVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "tsub_iter.cur.ptr = needle;" (assignment_expression "tsub_iter.cur.ptr = needle" (field_expression "tsub_iter.cur.ptr" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = identifier) ;) (do_statement "do {\n      tsub_iter.next_done = false;\n      string_iter.next_done = false;\n      if (tsub_iter.in_shift == false) {\n        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        tsub_iter.cur.bytes = 1;\n        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;\n        tsub_iter.cur.wc_valid = true;\n        wVar9 = string_iter.cur.wc;\njoined_r0x000146a5:\n        string_iter.cur.wc = wVar9;\n        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }\n      tsub_iter.next_done = true;\n      if (string_iter.next_done == false) {\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = string_iter.cur.ptr;\n        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n        if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }\n      }\n      else if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n      tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;\n    } while( true );" do (compound_statement "{\n      tsub_iter.next_done = false;\n      string_iter.next_done = false;\n      if (tsub_iter.in_shift == false) {\n        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        tsub_iter.cur.bytes = 1;\n        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;\n        tsub_iter.cur.wc_valid = true;\n        wVar9 = string_iter.cur.wc;\njoined_r0x000146a5:\n        string_iter.cur.wc = wVar9;\n        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }\n      tsub_iter.next_done = true;\n      if (string_iter.next_done == false) {\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = string_iter.cur.ptr;\n        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n        if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }\n      }\n      else if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }\n      string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;\n      tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;\n    }" { (expression_statement "tsub_iter.next_done = false;" (assignment_expression "tsub_iter.next_done = false" (field_expression "tsub_iter.next_done" identifier . field_identifier) = false) ;) (expression_statement "string_iter.next_done = false;" (assignment_expression "string_iter.next_done = false" (field_expression "string_iter.next_done" identifier . field_identifier) = false) ;) (if_statement "if (tsub_iter.in_shift == false) {\n        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        tsub_iter.cur.bytes = 1;\n        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;\n        tsub_iter.cur.wc_valid = true;\n        wVar9 = string_iter.cur.wc;\njoined_r0x000146a5:\n        string_iter.cur.wc = wVar9;\n        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }" if (parenthesized_expression "(tsub_iter.in_shift == false)" ( (binary_expression "tsub_iter.in_shift == false" (field_expression "tsub_iter.in_shift" identifier . field_identifier) == false) )) (compound_statement "{\n        if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        tsub_iter.cur.bytes = 1;\n        tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;\n        tsub_iter.cur.wc_valid = true;\n        wVar9 = string_iter.cur.wc;\njoined_r0x000146a5:\n        string_iter.cur.wc = wVar9;\n        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;\n      }" { (if_statement "if ((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }" if (parenthesized_expression "((*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0)" ( (binary_expression "(*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0" (parenthesized_expression "(*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1)" ( (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU) & 1" (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4) >>\n             (*tsub_iter.cur.ptr & 0x1fU)" (pointer_expression "*(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4)" * (cast_expression "(uint *)(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4)" ( (binary_expression "is_basic_table + (uint)((byte)*tsub_iter.cur.ptr >> 5) * 4" identifier + (binary_expression "(uint)((byte)*tsub_iter.cur.ptr >> 5) * 4" (call_expression "(uint)((byte)*tsub_iter.cur.ptr >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)*tsub_iter.cur.ptr >> 5)" ( (binary_expression "(byte)*tsub_iter.cur.ptr >> 5" (binary_expression "(byte)*tsub_iter.cur.ptr" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "tsub_iter.cur.ptr" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier)) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*tsub_iter.cur.ptr & 0x1fU)" ( (binary_expression "*tsub_iter.cur.ptr & 0x1fU" (pointer_expression "*tsub_iter.cur.ptr" * (field_expression "tsub_iter.cur.ptr" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier)) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n          iVar8 = mbsinit((mbstate_t *)__ps_00);\n          if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }" { (expression_statement "iVar8 = mbsinit((mbstate_t *)__ps_00);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)__ps_00)" identifier = (call_expression "mbsinit((mbstate_t *)__ps_00)" identifier (argument_list "((mbstate_t *)__ps_00)" ( (cast_expression "(mbstate_t *)__ps_00" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            tsub_iter.in_shift = true;\n            goto LAB_0001472b;\n          }" { (expression_statement "tsub_iter.in_shift = true;" (assignment_expression "tsub_iter.in_shift = true" (field_expression "tsub_iter.in_shift" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_0001472b;" goto statement_identifier ;) })) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;) })) (expression_statement "tsub_iter.cur.bytes = 1;" (assignment_expression "tsub_iter.cur.bytes = 1" (field_expression "tsub_iter.cur.bytes" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr;" (assignment_expression "tsub_iter.cur.wc = (wchar_t)*tsub_iter.cur.ptr" (field_expression "tsub_iter.cur.wc" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = (binary_expression "(wchar_t)*tsub_iter.cur.ptr" (parenthesized_expression "(wchar_t)" ( identifier )) * (field_expression "tsub_iter.cur.ptr" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "tsub_iter.cur.wc_valid = true;" (assignment_expression "tsub_iter.cur.wc_valid = true" (field_expression "tsub_iter.cur.wc_valid" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "wVar9 = string_iter.cur.wc;" (assignment_expression "wVar9 = string_iter.cur.wc" identifier = (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) ;) (labeled_statement "joined_r0x000146a5:\n        string_iter.cur.wc = wVar9;" statement_identifier : (expression_statement "string_iter.cur.wc = wVar9;" (assignment_expression "string_iter.cur.wc = wVar9" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = identifier) ;)) (if_statement "if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;" if (parenthesized_expression "(tsub_iter.cur.wc == L'\0')" ( (binary_expression "tsub_iter.cur.wc == L'\0'" (field_expression "tsub_iter.cur.wc" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) == (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_000147c3;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }" else (compound_statement "{\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = tsub_iter.cur.ptr;\n        sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);\n        tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);\n        if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }\n      }" { (labeled_statement "LAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();" statement_identifier : (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pcVar3 = tsub_iter.cur.ptr;" (assignment_expression "pcVar3 = tsub_iter.cur.ptr" identifier = (field_expression "tsub_iter.cur.ptr" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier)) ;) (expression_statement "sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5);" (assignment_expression "sVar7 = strnlen1(tsub_iter.cur.ptr,sVar5)" identifier = (call_expression "strnlen1(tsub_iter.cur.ptr,sVar5)" identifier (argument_list "(tsub_iter.cur.ptr,sVar5)" ( (field_expression "tsub_iter.cur.ptr" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);" (assignment_expression "tsub_iter.cur.bytes = rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00)" (field_expression "tsub_iter.cur.bytes" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = (call_expression "rpl_mbrtowc(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00)" identifier (argument_list "(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00)" ( (pointer_expression "&tsub_iter.cur.wc" & (field_expression "tsub_iter.cur.wc" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier)) , identifier , identifier , identifier )))) ;) (if_statement "if (tsub_iter.cur.bytes == 0xffffffff) {\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }\n        else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }" if (parenthesized_expression "(tsub_iter.cur.bytes == 0xffffffff)" ( (binary_expression "tsub_iter.cur.bytes == 0xffffffff" (field_expression "tsub_iter.cur.bytes" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n          tsub_iter.cur.bytes = 1;\n          tsub_iter.cur.wc_valid = false;\n        }" { (expression_statement "tsub_iter.cur.bytes = 1;" (assignment_expression "tsub_iter.cur.bytes = 1" (field_expression "tsub_iter.cur.bytes" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "tsub_iter.cur.wc_valid = false;" (assignment_expression "tsub_iter.cur.wc_valid = false" (field_expression "tsub_iter.cur.wc_valid" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = false) ;) }) (else_clause "else {\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }" else (compound_statement "{\n          if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }\n          tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);\n          tsub_iter.cur.wc_valid = false;\n        }" { (if_statement "if (tsub_iter.cur.bytes != 0xfffffffe) {\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }" if (parenthesized_expression "(tsub_iter.cur.bytes != 0xfffffffe)" ( (binary_expression "tsub_iter.cur.bytes != 0xfffffffe" (field_expression "tsub_iter.cur.bytes" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n            if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            tsub_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps_00);\n            wVar9 = string_iter.cur.wc;\n            if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }\n            goto joined_r0x000146a5;\n          }" { (if_statement "if (tsub_iter.cur.bytes == 0) {\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }" if (parenthesized_expression "(tsub_iter.cur.bytes == 0)" ( (binary_expression "tsub_iter.cur.bytes == 0" (field_expression "tsub_iter.cur.bytes" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n              tsub_iter.cur.bytes = 1;\n              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }" { (expression_statement "tsub_iter.cur.bytes = 1;" (assignment_expression "tsub_iter.cur.bytes = 1" (field_expression "tsub_iter.cur.bytes" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;" if (parenthesized_expression "(*tsub_iter.cur.ptr != '\0')" ( (binary_expression "*tsub_iter.cur.ptr != '\0'" (pointer_expression "*tsub_iter.cur.ptr" * (field_expression "tsub_iter.cur.ptr" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (tsub_iter.cur.wc != L'\0') {\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }" if (parenthesized_expression "(tsub_iter.cur.wc != L'\0')" ( (binary_expression "tsub_iter.cur.wc != L'\0'" (field_expression "tsub_iter.cur.wc" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) != (char_literal "L'\0'" L' escape_sequence ')) )) (compound_statement "{\nLAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }" { (labeled_statement "LAB_00014c16:\n                    /* WARNING: Subroutine does not return */\n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");" statement_identifier : comment (expression_statement "__assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");" (call_expression "__assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next")" identifier (argument_list "("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next")" ( (string_literal ""iter->cur.wc == 0"" " string_content ") , (string_literal ""mbuiter.h"" " string_content ") , number_literal , (string_literal ""mbuiter_multi_next"" " string_content ") ))) ;)) })) })) (expression_statement "tsub_iter.cur.wc_valid = true;" (assignment_expression "tsub_iter.cur.wc_valid = true" (field_expression "tsub_iter.cur.wc_valid" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "iVar8 = mbsinit((mbstate_t *)__ps_00);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)__ps_00)" identifier = (call_expression "mbsinit((mbstate_t *)__ps_00)" identifier (argument_list "((mbstate_t *)__ps_00)" ( (cast_expression "(mbstate_t *)__ps_00" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "wVar9 = string_iter.cur.wc;" (assignment_expression "wVar9 = string_iter.cur.wc" identifier = (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (iVar8 != 0) {\n              tsub_iter.in_shift = false;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              tsub_iter.in_shift = false;\n            }" { (expression_statement "tsub_iter.in_shift = false;" (assignment_expression "tsub_iter.in_shift = false" (field_expression "tsub_iter.in_shift" identifier . field_identifier) = false) ;) })) (goto_statement "goto joined_r0x000146a5;" goto statement_identifier ;) })) (expression_statement "tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr);" (assignment_expression "tsub_iter.cur.bytes = strlen(tsub_iter.cur.ptr)" (field_expression "tsub_iter.cur.bytes" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = (call_expression "strlen(tsub_iter.cur.ptr)" identifier (argument_list "(tsub_iter.cur.ptr)" ( (field_expression "tsub_iter.cur.ptr" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) )))) ;) (expression_statement "tsub_iter.cur.wc_valid = false;" (assignment_expression "tsub_iter.cur.wc_valid = false" (field_expression "tsub_iter.cur.wc_valid" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = false) ;) }))) }))) (expression_statement "tsub_iter.next_done = true;" (assignment_expression "tsub_iter.next_done = true" (field_expression "tsub_iter.next_done" identifier . field_identifier) = true) ;) (if_statement "if (string_iter.next_done == false) {\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = string_iter.cur.ptr;\n        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n        if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }\n      }\n      else if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }" if (parenthesized_expression "(string_iter.next_done == false)" ( (binary_expression "string_iter.next_done == false" (field_expression "string_iter.next_done" identifier . field_identifier) == false) )) (compound_statement "{\n        if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pcVar3 = string_iter.cur.ptr;\n        sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n        string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n        if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }\n      }" { (if_statement "if (string_iter.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }" if (parenthesized_expression "(string_iter.in_shift == false)" ( (binary_expression "string_iter.in_shift == false" (field_expression "string_iter.in_shift" identifier . field_identifier) == false) )) (compound_statement "{\n          if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit((mbstate_t *)__ps);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          string_iter.in_shift = true;\n        }" { (if_statement "if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }" if (parenthesized_expression "((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0)" ( (binary_expression "(*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1) != 0" (parenthesized_expression "(*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1)" ( (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU) & 1" (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n               (*string_iter.cur.ptr & 0x1fU)" (pointer_expression "*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4)" * (cast_expression "(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4)" ( (binary_expression "is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4" identifier + (binary_expression "(uint)((byte)*string_iter.cur.ptr >> 5) * 4" (call_expression "(uint)((byte)*string_iter.cur.ptr >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)*string_iter.cur.ptr >> 5)" ( (binary_expression "(byte)*string_iter.cur.ptr >> 5" (binary_expression "(byte)*string_iter.cur.ptr" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*string_iter.cur.ptr & 0x1fU)" ( (binary_expression "*string_iter.cur.ptr & 0x1fU" (pointer_expression "*string_iter.cur.ptr" * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n            string_iter.cur.bytes = 1;\n            string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;\n            string_iter.cur.wc_valid = true;\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }" { (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr;" (assignment_expression "string_iter.cur.wc = (wchar_t)*string_iter.cur.ptr" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (binary_expression "(wchar_t)*string_iter.cur.ptr" (parenthesized_expression "(wchar_t)" ( identifier )) * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "string_iter.cur.wc_valid = true;" (assignment_expression "string_iter.cur.wc_valid = true" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "string_iter.next_done = true;" (assignment_expression "string_iter.next_done = true" (field_expression "string_iter.next_done" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_000146fa;" goto statement_identifier ;) })) (expression_statement "iVar8 = mbsinit((mbstate_t *)__ps);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)__ps)" identifier = (call_expression "mbsinit((mbstate_t *)__ps)" identifier (argument_list "((mbstate_t *)__ps)" ( (cast_expression "(mbstate_t *)__ps" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00014bd8;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;)) (expression_statement "string_iter.in_shift = true;" (assignment_expression "string_iter.in_shift = true" (field_expression "string_iter.in_shift" identifier . field_identifier) = true) ;) })) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar3 = string_iter.cur.ptr;" (assignment_expression "pcVar3 = string_iter.cur.ptr" identifier = (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) ;) (expression_statement "sVar7 = strnlen1(string_iter.cur.ptr,sVar5);" (assignment_expression "sVar7 = strnlen1(string_iter.cur.ptr,sVar5)" identifier = (call_expression "strnlen1(string_iter.cur.ptr,sVar5)" identifier (argument_list "(string_iter.cur.ptr,sVar5)" ( (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);" (assignment_expression "string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps)" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (call_expression "rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps)" identifier (argument_list "(&string_iter.cur.wc,pcVar3,sVar7,__ps)" ( (pointer_expression "&string_iter.cur.wc" & (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) , identifier , identifier , identifier )))) ;) (if_statement "if (string_iter.cur.bytes == 0xffffffff) {\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }\n        else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }" if (parenthesized_expression "(string_iter.cur.bytes == 0xffffffff)" ( (binary_expression "string_iter.cur.bytes == 0xffffffff" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n          string_iter.cur.bytes = 1;\n          string_iter.cur.wc_valid = false;\n        }" { (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "string_iter.cur.wc_valid = false;" (assignment_expression "string_iter.cur.wc_valid = false" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = false) ;) }) (else_clause "else {\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }" else (compound_statement "{\n          if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }\n          string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n          string_iter.cur.wc_valid = false;\n        }" { (if_statement "if (string_iter.cur.bytes != 0xfffffffe) {\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }" if (parenthesized_expression "(string_iter.cur.bytes != 0xfffffffe)" ( (binary_expression "string_iter.cur.bytes != 0xfffffffe" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n            if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }\n            string_iter.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)__ps);\n            if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }\n            string_iter.next_done = true;\n            goto LAB_000146fa;\n          }" { (if_statement "if (string_iter.cur.bytes == 0) {\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }" if (parenthesized_expression "(string_iter.cur.bytes == 0)" ( (binary_expression "string_iter.cur.bytes == 0" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n              string_iter.cur.bytes = 1;\n              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;\n            }" { (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;" if (parenthesized_expression "(*string_iter.cur.ptr != '\0')" ( (binary_expression "*string_iter.cur.ptr != '\0'" (pointer_expression "*string_iter.cur.ptr" * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (string_iter.cur.wc != L'\0') goto LAB_00014c16;" if (parenthesized_expression "(string_iter.cur.wc != L'\0')" ( (binary_expression "string_iter.cur.wc != L'\0'" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) != (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_00014c16;" goto statement_identifier ;)) })) (expression_statement "string_iter.cur.wc_valid = true;" (assignment_expression "string_iter.cur.wc_valid = true" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "iVar8 = mbsinit((mbstate_t *)__ps);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)__ps)" identifier = (call_expression "mbsinit((mbstate_t *)__ps)" identifier (argument_list "((mbstate_t *)__ps)" ( (cast_expression "(mbstate_t *)__ps" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n              string_iter.in_shift = false;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              string_iter.in_shift = false;\n            }" { (expression_statement "string_iter.in_shift = false;" (assignment_expression "string_iter.in_shift = false" (field_expression "string_iter.in_shift" identifier . field_identifier) = false) ;) })) (expression_statement "string_iter.next_done = true;" (assignment_expression "string_iter.next_done = true" (field_expression "string_iter.next_done" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_000146fa;" goto statement_identifier ;) })) (expression_statement "string_iter.cur.bytes = strlen(string_iter.cur.ptr);" (assignment_expression "string_iter.cur.bytes = strlen(string_iter.cur.ptr)" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (call_expression "strlen(string_iter.cur.ptr)" identifier (argument_list "(string_iter.cur.ptr)" ( (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) )))) ;) (expression_statement "string_iter.cur.wc_valid = false;" (assignment_expression "string_iter.cur.wc_valid = false" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = false) ;) }))) }) (else_clause "else if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }" else (if_statement "if (string_iter.cur.wc_valid != false) {\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }" if (parenthesized_expression "(string_iter.cur.wc_valid != false)" ( (binary_expression "string_iter.cur.wc_valid != false" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) != false) )) (compound_statement "{\nLAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }\n      }" { (labeled_statement "LAB_000146fa:\n        if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }" statement_identifier : (if_statement "if (string_iter.cur.wc == L'\0') {\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }" if (parenthesized_expression "(string_iter.cur.wc == L'\0')" ( (binary_expression "string_iter.cur.wc == L'\0'" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == (char_literal "L'\0'" L' escape_sequence ')) )) (compound_statement "{\nmbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();\n        }" { (labeled_statement "mbsstr_trimmed_wordbounded_cold_1:\n                    /* WARNING: Subroutine does not return */\n          abort();" statement_identifier : comment (expression_statement "abort();" (call_expression "abort()" identifier (argument_list "()" ( ))) ;)) }))) })))) (expression_statement "string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;" (assignment_expression "string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes" (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (binary_expression "string_iter.cur.ptr + string_iter.cur.bytes" (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) + (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;" (assignment_expression "tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes" (field_expression "tsub_iter.cur.ptr" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) = (binary_expression "tsub_iter.cur.ptr + tsub_iter.cur.bytes" (field_expression "tsub_iter.cur.ptr" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier) + (field_expression "tsub_iter.cur.bytes" (field_expression "tsub_iter.cur" identifier . field_identifier) . field_identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) }))) (labeled_statement "LAB_00014402:\n  local_a1 = false;" statement_identifier : (expression_statement "local_a1 = false;" (assignment_expression "local_a1 = false" identifier = false) ;)) (labeled_statement "LAB_00014407:\n  free(needle);" statement_identifier : (expression_statement "free(needle);" (call_expression "free(needle)" identifier (argument_list "(needle)" ( identifier ))) ;)) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_a1;\n  }" if (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return local_a1;\n  }" { (return_statement "return local_a1;" return identifier ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000147c3:\n  tsub_iter.next_done = true;" statement_identifier : (expression_statement "tsub_iter.next_done = true;" (assignment_expression "tsub_iter.next_done = true" (field_expression "tsub_iter.next_done" identifier . field_identifier) = true) ;)) (if_statement "if (string_iter.next_done == false) {\n    if (string_iter.in_shift == false) {\n      if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n        string_iter.cur.bytes = 1;\n        wVar9 = (wchar_t)*string_iter.cur.ptr;\n        string_iter.cur.wc_valid = true;\n        string_iter.next_done = true;\n        string_iter.cur.wc = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) goto LAB_00014bd8;\n      string_iter.in_shift = true;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pcVar3 = string_iter.cur.ptr;\n    sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n    string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n    wVar9 = string_iter.cur.wc;\n    if (string_iter.cur.bytes == 0xffffffff) {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      goto LAB_0001481d;\n    }\n    if (string_iter.cur.bytes == 0xfffffffe) {\n      string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      wVar9 = string_iter.cur.wc;\n      goto LAB_0001481d;\n    }\n    if (string_iter.cur.bytes != 0) {\nLAB_00014a6b:\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n      string_iter.next_done = true;\n      goto LAB_00014819;\n    }\n    string_iter.cur.bytes = 1;\n    if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014a6b;\nLAB_00014b87:\n    string_iter.cur.bytes = 1;\n    mbuiter_multi_next(in_stack_ffffff44);\nLAB_00014b90:\n    string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n  }\n  else {\n    if (string_iter.cur.wc_valid == false) {\nLAB_0001481d:\n      if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))\n      goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != L'\0') goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    string_iter.state.__value.__wch = 0;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.next_done = false;\n    if ((*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      string_iter.cur.ptr = (char *)pbVar4;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      string_iter.in_shift = true;\n      sVar5 = __ctype_get_mb_cur_max();\n      pcVar3 = string_iter.cur.ptr;\n      sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n      string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n      if (string_iter.cur.bytes == 0xffffffff) {\n        string_iter.cur.bytes = 1;\n        goto LAB_0001489d;\n      }\n      if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;\n      if (string_iter.cur.bytes == 0) {\n        string_iter.cur.bytes = 1;\n        if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;\n      }\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n    }\n    else {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc = (wchar_t)(char)*pbVar4;\n      string_iter.cur.wc_valid = true;\n      string_iter.cur.ptr = (char *)pbVar4;\n    }\n    string_iter.next_done = true;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014402;\n  }" if (parenthesized_expression "(string_iter.next_done == false)" ( (binary_expression "string_iter.next_done == false" (field_expression "string_iter.next_done" identifier . field_identifier) == false) )) (compound_statement "{\n    if (string_iter.in_shift == false) {\n      if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n        string_iter.cur.bytes = 1;\n        wVar9 = (wchar_t)*string_iter.cur.ptr;\n        string_iter.cur.wc_valid = true;\n        string_iter.next_done = true;\n        string_iter.cur.wc = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) goto LAB_00014bd8;\n      string_iter.in_shift = true;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pcVar3 = string_iter.cur.ptr;\n    sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n    string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n    wVar9 = string_iter.cur.wc;\n    if (string_iter.cur.bytes == 0xffffffff) {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      goto LAB_0001481d;\n    }\n    if (string_iter.cur.bytes == 0xfffffffe) {\n      string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      wVar9 = string_iter.cur.wc;\n      goto LAB_0001481d;\n    }\n    if (string_iter.cur.bytes != 0) {\nLAB_00014a6b:\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n      string_iter.next_done = true;\n      goto LAB_00014819;\n    }\n    string_iter.cur.bytes = 1;\n    if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014a6b;\nLAB_00014b87:\n    string_iter.cur.bytes = 1;\n    mbuiter_multi_next(in_stack_ffffff44);\nLAB_00014b90:\n    string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n  }" { (if_statement "if (string_iter.in_shift == false) {\n      if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n        string_iter.cur.bytes = 1;\n        wVar9 = (wchar_t)*string_iter.cur.ptr;\n        string_iter.cur.wc_valid = true;\n        string_iter.next_done = true;\n        string_iter.cur.wc = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) goto LAB_00014bd8;\n      string_iter.in_shift = true;\n    }" if (parenthesized_expression "(string_iter.in_shift == false)" ( (binary_expression "string_iter.in_shift == false" (field_expression "string_iter.in_shift" identifier . field_identifier) == false) )) (compound_statement "{\n      if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n        string_iter.cur.bytes = 1;\n        wVar9 = (wchar_t)*string_iter.cur.ptr;\n        string_iter.cur.wc_valid = true;\n        string_iter.next_done = true;\n        string_iter.cur.wc = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) goto LAB_00014bd8;\n      string_iter.in_shift = true;\n    }" { (if_statement "if ((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {\n        string_iter.cur.bytes = 1;\n        wVar9 = (wchar_t)*string_iter.cur.ptr;\n        string_iter.cur.wc_valid = true;\n        string_iter.next_done = true;\n        string_iter.cur.wc = wVar9;\n        goto LAB_00014819;\n      }" if (parenthesized_expression "((*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1) != 0)" ( (binary_expression "(*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1) != 0" (parenthesized_expression "(*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1)" ( (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU) & 1" (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4) >>\n           (*string_iter.cur.ptr & 0x1fU)" (pointer_expression "*(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4)" * (cast_expression "(uint *)(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4)" ( (binary_expression "is_basic_table + (uint)((byte)*string_iter.cur.ptr >> 5) * 4" identifier + (binary_expression "(uint)((byte)*string_iter.cur.ptr >> 5) * 4" (call_expression "(uint)((byte)*string_iter.cur.ptr >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)*string_iter.cur.ptr >> 5)" ( (binary_expression "(byte)*string_iter.cur.ptr >> 5" (binary_expression "(byte)*string_iter.cur.ptr" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*string_iter.cur.ptr & 0x1fU)" ( (binary_expression "*string_iter.cur.ptr & 0x1fU" (pointer_expression "*string_iter.cur.ptr" * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n        string_iter.cur.bytes = 1;\n        wVar9 = (wchar_t)*string_iter.cur.ptr;\n        string_iter.cur.wc_valid = true;\n        string_iter.next_done = true;\n        string_iter.cur.wc = wVar9;\n        goto LAB_00014819;\n      }" { (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "wVar9 = (wchar_t)*string_iter.cur.ptr;" (assignment_expression "wVar9 = (wchar_t)*string_iter.cur.ptr" identifier = (binary_expression "(wchar_t)*string_iter.cur.ptr" (parenthesized_expression "(wchar_t)" ( identifier )) * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "string_iter.cur.wc_valid = true;" (assignment_expression "string_iter.cur.wc_valid = true" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "string_iter.next_done = true;" (assignment_expression "string_iter.next_done = true" (field_expression "string_iter.next_done" identifier . field_identifier) = true) ;) (expression_statement "string_iter.cur.wc = wVar9;" (assignment_expression "string_iter.cur.wc = wVar9" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = identifier) ;) (goto_statement "goto LAB_00014819;" goto statement_identifier ;) })) (expression_statement "iVar8 = mbsinit((mbstate_t *)__ps);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)__ps)" identifier = (call_expression "mbsinit((mbstate_t *)__ps)" identifier (argument_list "((mbstate_t *)__ps)" ( (cast_expression "(mbstate_t *)__ps" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00014bd8;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;)) (expression_statement "string_iter.in_shift = true;" (assignment_expression "string_iter.in_shift = true" (field_expression "string_iter.in_shift" identifier . field_identifier) = true) ;) })) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar3 = string_iter.cur.ptr;" (assignment_expression "pcVar3 = string_iter.cur.ptr" identifier = (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) ;) (expression_statement "sVar7 = strnlen1(string_iter.cur.ptr,sVar5);" (assignment_expression "sVar7 = strnlen1(string_iter.cur.ptr,sVar5)" identifier = (call_expression "strnlen1(string_iter.cur.ptr,sVar5)" identifier (argument_list "(string_iter.cur.ptr,sVar5)" ( (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);" (assignment_expression "string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps)" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (call_expression "rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps)" identifier (argument_list "(&string_iter.cur.wc,pcVar3,sVar7,__ps)" ( (pointer_expression "&string_iter.cur.wc" & (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) , identifier , identifier , identifier )))) ;) (expression_statement "wVar9 = string_iter.cur.wc;" (assignment_expression "wVar9 = string_iter.cur.wc" identifier = (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (string_iter.cur.bytes == 0xffffffff) {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      goto LAB_0001481d;\n    }" if (parenthesized_expression "(string_iter.cur.bytes == 0xffffffff)" ( (binary_expression "string_iter.cur.bytes == 0xffffffff" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      goto LAB_0001481d;\n    }" { (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "string_iter.cur.wc_valid = false;" (assignment_expression "string_iter.cur.wc_valid = false" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = false) ;) (expression_statement "string_iter.next_done = true;" (assignment_expression "string_iter.next_done = true" (field_expression "string_iter.next_done" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_0001481d;" goto statement_identifier ;) })) (if_statement "if (string_iter.cur.bytes == 0xfffffffe) {\n      string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      wVar9 = string_iter.cur.wc;\n      goto LAB_0001481d;\n    }" if (parenthesized_expression "(string_iter.cur.bytes == 0xfffffffe)" ( (binary_expression "string_iter.cur.bytes == 0xfffffffe" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n      string_iter.cur.bytes = strlen(string_iter.cur.ptr);\n      string_iter.cur.wc_valid = false;\n      string_iter.next_done = true;\n      wVar9 = string_iter.cur.wc;\n      goto LAB_0001481d;\n    }" { (expression_statement "string_iter.cur.bytes = strlen(string_iter.cur.ptr);" (assignment_expression "string_iter.cur.bytes = strlen(string_iter.cur.ptr)" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (call_expression "strlen(string_iter.cur.ptr)" identifier (argument_list "(string_iter.cur.ptr)" ( (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) )))) ;) (expression_statement "string_iter.cur.wc_valid = false;" (assignment_expression "string_iter.cur.wc_valid = false" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = false) ;) (expression_statement "string_iter.next_done = true;" (assignment_expression "string_iter.next_done = true" (field_expression "string_iter.next_done" identifier . field_identifier) = true) ;) (expression_statement "wVar9 = string_iter.cur.wc;" (assignment_expression "wVar9 = string_iter.cur.wc" identifier = (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) ;) (goto_statement "goto LAB_0001481d;" goto statement_identifier ;) })) (if_statement "if (string_iter.cur.bytes != 0) {\nLAB_00014a6b:\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n      string_iter.next_done = true;\n      goto LAB_00014819;\n    }" if (parenthesized_expression "(string_iter.cur.bytes != 0)" ( (binary_expression "string_iter.cur.bytes != 0" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\nLAB_00014a6b:\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n      string_iter.next_done = true;\n      goto LAB_00014819;\n    }" { (labeled_statement "LAB_00014a6b:\n      string_iter.cur.wc_valid = true;" statement_identifier : (expression_statement "string_iter.cur.wc_valid = true;" (assignment_expression "string_iter.cur.wc_valid = true" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = true) ;)) (expression_statement "iVar8 = mbsinit((mbstate_t *)__ps);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)__ps)" identifier = (call_expression "mbsinit((mbstate_t *)__ps)" identifier (argument_list "((mbstate_t *)__ps)" ( (cast_expression "(mbstate_t *)__ps" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        string_iter.in_shift = false;\n      }" { (expression_statement "string_iter.in_shift = false;" (assignment_expression "string_iter.in_shift = false" (field_expression "string_iter.in_shift" identifier . field_identifier) = false) ;) })) (expression_statement "string_iter.next_done = true;" (assignment_expression "string_iter.next_done = true" (field_expression "string_iter.next_done" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_00014819;" goto statement_identifier ;) })) (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;" if (parenthesized_expression "(*string_iter.cur.ptr != '\0')" ( (binary_expression "*string_iter.cur.ptr != '\0'" (pointer_expression "*string_iter.cur.ptr" * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (string_iter.cur.wc == L'\0') goto LAB_00014a6b;" if (parenthesized_expression "(string_iter.cur.wc == L'\0')" ( (binary_expression "string_iter.cur.wc == L'\0'" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_00014a6b;" goto statement_identifier ;)) (labeled_statement "LAB_00014b87:\n    string_iter.cur.bytes = 1;" statement_identifier : (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;)) (expression_statement "mbuiter_multi_next(in_stack_ffffff44);" (call_expression "mbuiter_multi_next(in_stack_ffffff44)" identifier (argument_list "(in_stack_ffffff44)" ( identifier ))) ;) (labeled_statement "LAB_00014b90:\n    string_iter.cur.bytes = strlen(string_iter.cur.ptr);" statement_identifier : (expression_statement "string_iter.cur.bytes = strlen(string_iter.cur.ptr);" (assignment_expression "string_iter.cur.bytes = strlen(string_iter.cur.ptr)" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (call_expression "strlen(string_iter.cur.ptr)" identifier (argument_list "(string_iter.cur.ptr)" ( (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) )))) ;)) }) (else_clause "else {\n    if (string_iter.cur.wc_valid == false) {\nLAB_0001481d:\n      if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))\n      goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != L'\0') goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    string_iter.state.__value.__wch = 0;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.next_done = false;\n    if ((*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      string_iter.cur.ptr = (char *)pbVar4;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      string_iter.in_shift = true;\n      sVar5 = __ctype_get_mb_cur_max();\n      pcVar3 = string_iter.cur.ptr;\n      sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n      string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n      if (string_iter.cur.bytes == 0xffffffff) {\n        string_iter.cur.bytes = 1;\n        goto LAB_0001489d;\n      }\n      if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;\n      if (string_iter.cur.bytes == 0) {\n        string_iter.cur.bytes = 1;\n        if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;\n      }\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n    }\n    else {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc = (wchar_t)(char)*pbVar4;\n      string_iter.cur.wc_valid = true;\n      string_iter.cur.ptr = (char *)pbVar4;\n    }\n    string_iter.next_done = true;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014402;\n  }" else (compound_statement "{\n    if (string_iter.cur.wc_valid == false) {\nLAB_0001481d:\n      if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))\n      goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != L'\0') goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    string_iter.state.__value.__wch = 0;\n    string_iter.in_shift = false;\n    string_iter.state.__count = 0;\n    string_iter.next_done = false;\n    if ((*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      string_iter.cur.ptr = (char *)pbVar4;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      string_iter.in_shift = true;\n      sVar5 = __ctype_get_mb_cur_max();\n      pcVar3 = string_iter.cur.ptr;\n      sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n      string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n      if (string_iter.cur.bytes == 0xffffffff) {\n        string_iter.cur.bytes = 1;\n        goto LAB_0001489d;\n      }\n      if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;\n      if (string_iter.cur.bytes == 0) {\n        string_iter.cur.bytes = 1;\n        if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;\n      }\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n    }\n    else {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc = (wchar_t)(char)*pbVar4;\n      string_iter.cur.wc_valid = true;\n      string_iter.cur.ptr = (char *)pbVar4;\n    }\n    string_iter.next_done = true;\n    if (string_iter.cur.wc == L'\0') goto LAB_00014402;\n  }" { (if_statement "if (string_iter.cur.wc_valid == false) {\nLAB_0001481d:\n      if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))\n      goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != L'\0') goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" if (parenthesized_expression "(string_iter.cur.wc_valid == false)" ( (binary_expression "string_iter.cur.wc_valid == false" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == false) )) (compound_statement "{\nLAB_0001481d:\n      if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))\n      goto LAB_00014834;\n    }" { (labeled_statement "LAB_0001481d:\n      if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))\n      goto LAB_00014834;" statement_identifier : (if_statement "if ((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))\n      goto LAB_00014834;" if (parenthesized_expression "((string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0))" ( (binary_expression "(string_iter.cur.wc_valid == false) || (iVar8 = iswalnum(wVar9), iVar8 == 0)" (parenthesized_expression "(string_iter.cur.wc_valid == false)" ( (binary_expression "string_iter.cur.wc_valid == false" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == false) )) || (parenthesized_expression "(iVar8 = iswalnum(wVar9), iVar8 == 0)" ( (comma_expression "iVar8 = iswalnum(wVar9), iVar8 == 0" (assignment_expression "iVar8 = iswalnum(wVar9)" identifier = (call_expression "iswalnum(wVar9)" identifier (argument_list "(wVar9)" ( identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00014834;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_00014819:\n      if (wVar9 != L'\0') goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" else (compound_statement "{\nLAB_00014819:\n      if (wVar9 != L'\0') goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" { (labeled_statement "LAB_00014819:\n      if (wVar9 != L'\0') goto LAB_0001481d;" statement_identifier : (if_statement "if (wVar9 != L'\0') goto LAB_0001481d;" if (parenthesized_expression "(wVar9 != L'\0')" ( (binary_expression "wVar9 != L'\0'" identifier != (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_0001481d;" goto statement_identifier ;))) (labeled_statement "LAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;" statement_identifier : (if_statement "if (local_a1 != false) goto LAB_00014407;" if (parenthesized_expression "(local_a1 != false)" ( (binary_expression "local_a1 != false" identifier != false) )) (goto_statement "goto LAB_00014407;" goto statement_identifier ;))) }))) (expression_statement "string_iter.state.__value.__wch = 0;" (assignment_expression "string_iter.state.__value.__wch = 0" (field_expression "string_iter.state.__value.__wch" (field_expression "string_iter.state.__value" (field_expression "string_iter.state" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "string_iter.in_shift = false;" (assignment_expression "string_iter.in_shift = false" (field_expression "string_iter.in_shift" identifier . field_identifier) = false) ;) (expression_statement "string_iter.state.__count = 0;" (assignment_expression "string_iter.state.__count = 0" (field_expression "string_iter.state.__count" (field_expression "string_iter.state" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "string_iter.next_done = false;" (assignment_expression "string_iter.next_done = false" (field_expression "string_iter.next_done" identifier . field_identifier) = false) ;) (if_statement "if ((*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      string_iter.cur.ptr = (char *)pbVar4;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      string_iter.in_shift = true;\n      sVar5 = __ctype_get_mb_cur_max();\n      pcVar3 = string_iter.cur.ptr;\n      sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n      string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n      if (string_iter.cur.bytes == 0xffffffff) {\n        string_iter.cur.bytes = 1;\n        goto LAB_0001489d;\n      }\n      if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;\n      if (string_iter.cur.bytes == 0) {\n        string_iter.cur.bytes = 1;\n        if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;\n      }\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n    }\n    else {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc = (wchar_t)(char)*pbVar4;\n      string_iter.cur.wc_valid = true;\n      string_iter.cur.ptr = (char *)pbVar4;\n    }" if (parenthesized_expression "((*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1)" ( (binary_expression "*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1" (binary_expression "*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f)" (pointer_expression "*(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4)" * (cast_expression "(uint *)(is_basic_table + (uint)(*pbVar4 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(is_basic_table + (uint)(*pbVar4 >> 5) * 4)" ( (binary_expression "is_basic_table + (uint)(*pbVar4 >> 5) * 4" identifier + (binary_expression "(uint)(*pbVar4 >> 5) * 4" (call_expression "(uint)(*pbVar4 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*pbVar4 >> 5)" ( (binary_expression "*pbVar4 >> 5" (pointer_expression "*pbVar4" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*pbVar4 & 0x1f)" ( (binary_expression "*pbVar4 & 0x1f" (pointer_expression "*pbVar4" * identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n      string_iter.cur.ptr = (char *)pbVar4;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      string_iter.in_shift = true;\n      sVar5 = __ctype_get_mb_cur_max();\n      pcVar3 = string_iter.cur.ptr;\n      sVar7 = strnlen1(string_iter.cur.ptr,sVar5);\n      string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);\n      if (string_iter.cur.bytes == 0xffffffff) {\n        string_iter.cur.bytes = 1;\n        goto LAB_0001489d;\n      }\n      if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;\n      if (string_iter.cur.bytes == 0) {\n        string_iter.cur.bytes = 1;\n        if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;\n      }\n      string_iter.cur.wc_valid = true;\n      iVar8 = mbsinit((mbstate_t *)__ps);\n      if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }\n    }" { (expression_statement "string_iter.cur.ptr = (char *)pbVar4;" (assignment_expression "string_iter.cur.ptr = (char *)pbVar4" (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)pbVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar8 = mbsinit((mbstate_t *)__ps);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)__ps)" identifier = (call_expression "mbsinit((mbstate_t *)__ps)" identifier (argument_list "((mbstate_t *)__ps)" ( (cast_expression "(mbstate_t *)__ps" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 == 0) {\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }" { (labeled_statement "LAB_00014bd8:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");" statement_identifier : comment (expression_statement "__assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");" (call_expression "__assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next")" identifier (argument_list "("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next")" ( (string_literal ""mbsinit (&iter->state)"" " string_content ") , (string_literal ""mbuiter.h"" " string_content ") , number_literal , (string_literal ""mbuiter_multi_next"" " string_content ") ))) ;)) })) (expression_statement "string_iter.in_shift = true;" (assignment_expression "string_iter.in_shift = true" (field_expression "string_iter.in_shift" identifier . field_identifier) = true) ;) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar3 = string_iter.cur.ptr;" (assignment_expression "pcVar3 = string_iter.cur.ptr" identifier = (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) ;) (expression_statement "sVar7 = strnlen1(string_iter.cur.ptr,sVar5);" (assignment_expression "sVar7 = strnlen1(string_iter.cur.ptr,sVar5)" identifier = (call_expression "strnlen1(string_iter.cur.ptr,sVar5)" identifier (argument_list "(string_iter.cur.ptr,sVar5)" ( (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps);" (assignment_expression "string_iter.cur.bytes = rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps)" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (call_expression "rpl_mbrtowc(&string_iter.cur.wc,pcVar3,sVar7,__ps)" identifier (argument_list "(&string_iter.cur.wc,pcVar3,sVar7,__ps)" ( (pointer_expression "&string_iter.cur.wc" & (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) , identifier , identifier , identifier )))) ;) (if_statement "if (string_iter.cur.bytes == 0xffffffff) {\n        string_iter.cur.bytes = 1;\n        goto LAB_0001489d;\n      }" if (parenthesized_expression "(string_iter.cur.bytes == 0xffffffff)" ( (binary_expression "string_iter.cur.bytes == 0xffffffff" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n        string_iter.cur.bytes = 1;\n        goto LAB_0001489d;\n      }" { (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (goto_statement "goto LAB_0001489d;" goto statement_identifier ;) })) (if_statement "if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;" if (parenthesized_expression "(string_iter.cur.bytes == 0xfffffffe)" ( (binary_expression "string_iter.cur.bytes == 0xfffffffe" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (goto_statement "goto LAB_00014b90;" goto statement_identifier ;)) (if_statement "if (string_iter.cur.bytes == 0) {\n        string_iter.cur.bytes = 1;\n        if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;\n      }" if (parenthesized_expression "(string_iter.cur.bytes == 0)" ( (binary_expression "string_iter.cur.bytes == 0" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n        string_iter.cur.bytes = 1;\n        if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;\n      }" { (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (*string_iter.cur.ptr != '\0') {\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }" if (parenthesized_expression "(*string_iter.cur.ptr != '\0')" ( (binary_expression "*string_iter.cur.ptr != '\0'" (pointer_expression "*string_iter.cur.ptr" * (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }" { (labeled_statement "LAB_00014bf7:\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");" statement_identifier : comment (expression_statement "__assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");" (call_expression "__assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next")" identifier (argument_list "("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next")" ( (string_literal ""*iter->cur.ptr == \'\\0\'"" " string_content escape_sequence escape_sequence string_content escape_sequence ") , (string_literal ""mbuiter.h"" " string_content ") , number_literal , (string_literal ""mbuiter_multi_next"" " string_content ") ))) ;)) })) (if_statement "if (string_iter.cur.wc != L'\0') goto LAB_00014b87;" if (parenthesized_expression "(string_iter.cur.wc != L'\0')" ( (binary_expression "string_iter.cur.wc != L'\0'" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) != (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_00014b87;" goto statement_identifier ;)) })) (expression_statement "string_iter.cur.wc_valid = true;" (assignment_expression "string_iter.cur.wc_valid = true" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "iVar8 = mbsinit((mbstate_t *)__ps);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)__ps)" identifier = (call_expression "mbsinit((mbstate_t *)__ps)" identifier (argument_list "((mbstate_t *)__ps)" ( (cast_expression "(mbstate_t *)__ps" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n        string_iter.in_shift = false;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        string_iter.in_shift = false;\n      }" { (expression_statement "string_iter.in_shift = false;" (assignment_expression "string_iter.in_shift = false" (field_expression "string_iter.in_shift" identifier . field_identifier) = false) ;) })) }) (else_clause "else {\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc = (wchar_t)(char)*pbVar4;\n      string_iter.cur.wc_valid = true;\n      string_iter.cur.ptr = (char *)pbVar4;\n    }" else (compound_statement "{\n      string_iter.cur.bytes = 1;\n      string_iter.cur.wc = (wchar_t)(char)*pbVar4;\n      string_iter.cur.wc_valid = true;\n      string_iter.cur.ptr = (char *)pbVar4;\n    }" { (expression_statement "string_iter.cur.bytes = 1;" (assignment_expression "string_iter.cur.bytes = 1" (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "string_iter.cur.wc = (wchar_t)(char)*pbVar4;" (assignment_expression "string_iter.cur.wc = (wchar_t)(char)*pbVar4" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (binary_expression "(wchar_t)(char)*pbVar4" (call_expression "(wchar_t)(char)" (parenthesized_expression "(wchar_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "string_iter.cur.wc_valid = true;" (assignment_expression "string_iter.cur.wc_valid = true" (field_expression "string_iter.cur.wc_valid" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "string_iter.cur.ptr = (char *)pbVar4;" (assignment_expression "string_iter.cur.ptr = (char *)pbVar4" (field_expression "string_iter.cur.ptr" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)pbVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "string_iter.next_done = true;" (assignment_expression "string_iter.next_done = true" (field_expression "string_iter.next_done" identifier . field_identifier) = true) ;) (if_statement "if (string_iter.cur.wc == L'\0') goto LAB_00014402;" if (parenthesized_expression "(string_iter.cur.wc == L'\0')" ( (binary_expression "string_iter.cur.wc == L'\0'" (field_expression "string_iter.cur.wc" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier) == (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_00014402;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0001489d:\n  string = (char *)(pbVar4 + string_iter.cur.bytes);" statement_identifier : (expression_statement "string = (char *)(pbVar4 + string_iter.cur.bytes);" (assignment_expression "string = (char *)(pbVar4 + string_iter.cur.bytes)" identifier = (cast_expression "(char *)(pbVar4 + string_iter.cur.bytes)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar4 + string_iter.cur.bytes)" ( (binary_expression "pbVar4 + string_iter.cur.bytes" identifier + (field_expression "string_iter.cur.bytes" (field_expression "string_iter.cur" identifier . field_identifier) . field_identifier)) )))) ;)) (goto_statement "goto LAB_00014380;" goto statement_identifier ;) })))
(translation_unit "bool __regparm3 FUN_00014340(byte *param_1,undefined4 param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  byte *pbVar3;\n  byte *__s;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  wint_t wVar9;\n  int in_GS_OFFSET;\n  bool local_a1;\n  mbstate_t local_8c;\n  char local_84;\n  byte *local_80;\n  size_t local_7c;\n  char local_78;\n  wint_t local_74 [7];\n  char local_58;\n  mbstate_t local_54;\n  undefined1 local_4c;\n  byte *local_48;\n  size_t local_44;\n  undefined1 local_40;\n  int local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1434b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s = (byte *)FUN_00015010(param_2,2);\nLAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(__s);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00019640();\n  }\n  return local_a1;\nLAB_000147c3:\n  local_4c = 1;\n  if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }\nLAB_0001489d:\n  param_1 = pbVar4 + local_7c;\n  goto LAB_00014380;\n}\n\n" (function_definition "bool __regparm3 FUN_00014340(byte *param_1,undefined4 param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  byte *pbVar3;\n  byte *__s;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  wint_t wVar9;\n  int in_GS_OFFSET;\n  bool local_a1;\n  mbstate_t local_8c;\n  char local_84;\n  byte *local_80;\n  size_t local_7c;\n  char local_78;\n  wint_t local_74 [7];\n  char local_58;\n  mbstate_t local_54;\n  undefined1 local_4c;\n  byte *local_48;\n  size_t local_44;\n  undefined1 local_40;\n  int local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1434b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s = (byte *)FUN_00015010(param_2,2);\nLAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(__s);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00019640();\n  }\n  return local_a1;\nLAB_000147c3:\n  local_4c = 1;\n  if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }\nLAB_0001489d:\n  param_1 = pbVar4 + local_7c;\n  goto LAB_00014380;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00014340(byte *param_1,undefined4 param_2)" identifier (parameter_list "(byte *param_1,undefined4 param_2)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  byte *pbVar3;\n  byte *__s;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  wint_t wVar9;\n  int in_GS_OFFSET;\n  bool local_a1;\n  mbstate_t local_8c;\n  char local_84;\n  byte *local_80;\n  size_t local_7c;\n  char local_78;\n  wint_t local_74 [7];\n  char local_58;\n  mbstate_t local_54;\n  undefined1 local_4c;\n  byte *local_48;\n  size_t local_44;\n  undefined1 local_40;\n  int local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1434b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s = (byte *)FUN_00015010(param_2,2);\nLAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(__s);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00019640();\n  }\n  return local_a1;\nLAB_000147c3:\n  local_4c = 1;\n  if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }\nLAB_0001489d:\n  param_1 = pbVar4 + local_7c;\n  goto LAB_00014380;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "byte *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "ushort **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "wint_t wVar9;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool local_a1;" primitive_type identifier ;) (declaration "mbstate_t local_8c;" type_identifier identifier ;) (declaration "char local_84;" primitive_type identifier ;) (declaration "byte *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "size_t local_7c;" primitive_type identifier ;) (declaration "char local_78;" primitive_type identifier ;) (declaration "wint_t local_74 [7];" type_identifier (array_declarator "local_74 [7]" identifier [ number_literal ]) ;) (declaration "char local_58;" primitive_type identifier ;) (declaration "mbstate_t local_54;" type_identifier identifier ;) (declaration "undefined1 local_4c;" type_identifier identifier ;) (declaration "byte *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "size_t local_44;" primitive_type identifier ;) (declaration "undefined1 local_40;" type_identifier identifier ;) (declaration "int local_3c [7];" primitive_type (array_declarator "local_3c [7]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1434b;" (assignment_expression "uStack_14 = 0x1434b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "__s = (byte *)FUN_00015010(param_2,2);" (assignment_expression "__s = (byte *)FUN_00015010(param_2,2)" identifier = (cast_expression "(byte *)FUN_00015010(param_2,2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00015010(param_2,2)" identifier (argument_list "(param_2,2)" ( identifier , number_literal ))))) ;) (labeled_statement "LAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }" statement_identifier : (if_statement "if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }" if (parenthesized_expression "(*param_1 != 0)" ( (binary_expression "*param_1 != 0" (pointer_expression "*param_1" * identifier) != number_literal) )) (compound_statement "{\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }" { (while_statement "while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }" { (expression_statement "pbVar4 = (byte *)FUN_00017cf0(param_1,__s);" (assignment_expression "pbVar4 = (byte *)FUN_00017cf0(param_1,__s)" identifier = (cast_expression "(byte *)FUN_00017cf0(param_1,__s)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00017cf0(param_1,__s)" identifier (argument_list "(param_1,__s)" ( identifier , identifier ))))) ;) (if_statement "if (pbVar4 == (byte *)0x0) goto LAB_00014402;" if (parenthesized_expression "(pbVar4 == (byte *)0x0)" ( (binary_expression "pbVar4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014402;" goto statement_identifier ;)) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (if_statement "if (1 < sVar5) break;" if (parenthesized_expression "(1 < sVar5)" ( (binary_expression "1 < sVar5" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "sVar5 = strlen((char *)__s);" (assignment_expression "sVar5 = strlen((char *)__s)" identifier = (call_expression "strlen((char *)__s)" identifier (argument_list "((char *)__s)" ( (cast_expression "(char *)__s" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }" if (parenthesized_expression "(((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0))))" ( (binary_expression "((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))" (parenthesized_expression "((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0))" ( (binary_expression "(pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)" (parenthesized_expression "(pbVar4 <= param_1)" ( (binary_expression "pbVar4 <= param_1" identifier <= identifier) )) || (parenthesized_expression "(ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)" ( (comma_expression "ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0" (assignment_expression "ppuVar6 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) , (binary_expression "((*ppuVar6)[pbVar4[-1]] & 8) == 0" (parenthesized_expression "((*ppuVar6)[pbVar4[-1]] & 8)" ( (binary_expression "(*ppuVar6)[pbVar4[-1]] & 8" (subscript_expression "(*ppuVar6)[pbVar4[-1]]" (parenthesized_expression "(*ppuVar6)" ( (pointer_expression "*ppuVar6" * identifier) )) [ (subscript_expression "pbVar4[-1]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))" ( (parenthesized_expression "(bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0))" ( (comma_expression "bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)" (assignment_expression "bVar1 = pbVar4[sVar5]" identifier = (subscript_expression "pbVar4[sVar5]" identifier [ identifier ])) , (binary_expression "bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)" (binary_expression "bVar1 == 0" identifier == number_literal) || (parenthesized_expression "(ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)" ( (comma_expression "ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0" (assignment_expression "ppuVar6 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) , (binary_expression "((*ppuVar6)[bVar1] & 8) == 0" (parenthesized_expression "((*ppuVar6)[bVar1] & 8)" ( (binary_expression "(*ppuVar6)[bVar1] & 8" (subscript_expression "(*ppuVar6)[bVar1]" (parenthesized_expression "(*ppuVar6)" ( (pointer_expression "*ppuVar6" * identifier) )) [ identifier ]) & number_literal) )) == number_literal)) )))) )) ))) )) (compound_statement "{\n        local_a1 = true;\n        goto LAB_00014407;\n      }" { (expression_statement "local_a1 = true;" (assignment_expression "local_a1 = true" identifier = true) ;) (goto_statement "goto LAB_00014407;" goto statement_identifier ;) })) (if_statement "if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;" if (parenthesized_expression "((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0))" ( (binary_expression "(*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)" (parenthesized_expression "(*pbVar4 == 0)" ( (binary_expression "*pbVar4 == 0" (pointer_expression "*pbVar4" * identifier) == number_literal) )) || (parenthesized_expression "(param_1 = pbVar4 + 1, *param_1 == 0)" ( (comma_expression "param_1 = pbVar4 + 1, *param_1 == 0" (assignment_expression "param_1 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) , (binary_expression "*param_1 == 0" (pointer_expression "*param_1" * identifier) == number_literal)) ))) )) (goto_statement "goto LAB_00014402;" goto statement_identifier ;)) })) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_8c.__count = 0;" (assignment_expression "local_8c.__count = 0" (field_expression "local_8c.__count" identifier . field_identifier) = number_literal) ;) (expression_statement "local_8c.__value.__wch = 0;" (assignment_expression "local_8c.__value.__wch = 0" (field_expression "local_8c.__value.__wch" (field_expression "local_8c.__value" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_80 = param_1;" (assignment_expression "local_80 = param_1" identifier = identifier) ;) (if_statement "if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }" if (parenthesized_expression "(param_1 < pbVar4)" ( (binary_expression "param_1 < pbVar4" identifier < identifier) )) (compound_statement "{\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }" { (do_statement "do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);" do (compound_statement "{\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      }" { (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }" { (labeled_statement "LAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();" statement_identifier : (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" identifier = identifier) ;) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" identifier = (call_expression "FUN_00014fa0(local_80,sVar5)" identifier (argument_list "(local_80,sVar5)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier (argument_list "(local_74,pbVar3,uVar7,&local_8c)" ( identifier , identifier , identifier , (pointer_expression "&local_8c" & identifier) )))) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) (if_statement "if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }" if (parenthesized_expression "(local_7c == 0xffffffff)" ( (binary_expression "local_7c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n            local_7c = 1;\n            local_78 = '\0';\n          }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }" else (compound_statement "{\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }" { (if_statement "if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }" if (parenthesized_expression "(local_7c != 0xfffffffe)" ( (binary_expression "local_7c != 0xfffffffe" identifier != number_literal) )) (compound_statement "{\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }" { (if_statement "if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (compound_statement "{\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) goto LAB_00014bf7;" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (local_74[0] != 0) goto LAB_00014c16;" if (parenthesized_expression "(local_74[0] != 0)" ( (binary_expression "local_74[0] != 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00014c16;" goto statement_identifier ;)) })) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n                bVar2 = false;\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                bVar2 = false;\n              }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) })) (goto_statement "goto LAB_000144b2;" goto statement_identifier ;) })) (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" identifier = (call_expression "strlen((char *)local_80)" identifier (argument_list "((char *)local_80)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) }))) }) (else_clause "else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }" else (compound_statement "{\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }" { (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }" if (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             )" ( (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (binary_expression "&DAT_0001b360 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0001b360" & identifier) + (binary_expression "(uint)(*local_80 >> 5) * 4" (call_expression "(uint)(*local_80 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_80 >> 5)" ( (binary_expression "*local_80 >> 5" (pointer_expression "*local_80" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*local_80 & 0x1f)" ( (binary_expression "*local_80 & 0x1f" (pointer_expression "*local_80" * identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }" { (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              bVar2 = true;\n              goto LAB_000144df;\n            }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_000144df;" goto statement_identifier ;) })) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;) })) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "wVar9 = (wint_t)(char)*local_80;" (assignment_expression "wVar9 = (wint_t)(char)*local_80" identifier = (binary_expression "(wint_t)(char)*local_80" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_74[0] = wVar9;" (assignment_expression "local_74[0] = wVar9" (subscript_expression "local_74[0]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_000144b2:\n          local_84 = '\x01';" statement_identifier : (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;)) (if_statement "if (wVar9 == 0) goto FUN_00012500;" if (parenthesized_expression "(wVar9 == 0)" ( (binary_expression "wVar9 == 0" identifier == number_literal) )) (goto_statement "goto FUN_00012500;" goto statement_identifier ;)) }))) (expression_statement "local_80 = local_80 + local_7c;" (assignment_expression "local_80 = local_80 + local_7c" identifier = (binary_expression "local_80 + local_7c" identifier + identifier)) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) }) while (parenthesized_expression "(local_80 < pbVar4)" ( (binary_expression "local_80 < pbVar4" identifier < identifier) )) ;) (if_statement "if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }" if (parenthesized_expression "(local_78 != '\0')" ( (binary_expression "local_78 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }" { (expression_statement "iVar8 = iswalnum(wVar9);" (assignment_expression "iVar8 = iswalnum(wVar9)" identifier = (call_expression "iswalnum(wVar9)" identifier (argument_list "(wVar9)" ( identifier )))) ;) (expression_statement "local_a1 = iVar8 == 0;" (assignment_expression "local_a1 = iVar8 == 0" identifier = (binary_expression "iVar8 == 0" identifier == number_literal)) ;) (goto_statement "goto LAB_00014603;" goto statement_identifier ;) })) })) (expression_statement "local_a1 = true;" (assignment_expression "local_a1 = true" identifier = true) ;) (labeled_statement "LAB_00014603:\n    local_8c.__value.__wch = 0;" statement_identifier : (expression_statement "local_8c.__value.__wch = 0;" (assignment_expression "local_8c.__value.__wch = 0" (field_expression "local_8c.__value.__wch" (field_expression "local_8c.__value" identifier . field_identifier) . field_identifier) = number_literal) ;)) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_8c.__count = 0;" (assignment_expression "local_8c.__count = 0" (field_expression "local_8c.__count" identifier . field_identifier) = number_literal) ;) (expression_statement "local_58 = '\0';" (assignment_expression "local_58 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_54.__count = 0;" (assignment_expression "local_54.__count = 0" (field_expression "local_54.__count" identifier . field_identifier) = number_literal) ;) (expression_statement "local_54.__value.__wch = 0;" (assignment_expression "local_54.__value.__wch = 0" (field_expression "local_54.__value.__wch" (field_expression "local_54.__value" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_80 = pbVar4;" (assignment_expression "local_80 = pbVar4" identifier = identifier) ;) (expression_statement "local_48 = __s;" (assignment_expression "local_48 = __s" identifier = identifier) ;) (do_statement "do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );" do (compound_statement "{\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }" if (parenthesized_expression "(local_58 == '\0')" ( (binary_expression "local_58 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }" { (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }" if (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4)" ( (binary_expression "&DAT_0001b360 + (uint)(*local_48 >> 5) * 4" (pointer_expression "&DAT_0001b360" & identifier) + (binary_expression "(uint)(*local_48 >> 5) * 4" (call_expression "(uint)(*local_48 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_48 >> 5)" ( (binary_expression "*local_48 >> 5" (pointer_expression "*local_48" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*local_48 & 0x1f)" ( (binary_expression "*local_48 & 0x1f" (pointer_expression "*local_48" * identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }" { (expression_statement "iVar8 = mbsinit(&local_54);" (assignment_expression "iVar8 = mbsinit(&local_54)" identifier = (call_expression "mbsinit(&local_54)" identifier (argument_list "(&local_54)" ( (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }" { (expression_statement "local_58 = '\x01';" (assignment_expression "local_58 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0001472b;" goto statement_identifier ;) })) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;) })) (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (expression_statement "local_3c[0] = (int)(char)*local_48;" (assignment_expression "local_3c[0] = (int)(char)*local_48" (subscript_expression "local_3c[0]" identifier [ number_literal ]) = (cast_expression "(int)(char)*local_48" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*local_48" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*local_48" * identifier)))) ;) (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) (labeled_statement "joined_r0x000146a5:\n        local_74[0] = wVar9;" statement_identifier : (expression_statement "local_74[0] = wVar9;" (assignment_expression "local_74[0] = wVar9" (subscript_expression "local_74[0]" identifier [ number_literal ]) = identifier) ;)) (if_statement "if (local_3c[0] == 0) goto LAB_000147c3;" if (parenthesized_expression "(local_3c[0] == 0)" ( (binary_expression "local_3c[0] == 0" (subscript_expression "local_3c[0]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000147c3;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }" else (compound_statement "{\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }" { (labeled_statement "LAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();" statement_identifier : (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pbVar3 = local_48;" (assignment_expression "pbVar3 = local_48" identifier = identifier) ;) (expression_statement "uVar7 = FUN_00014fa0(local_48,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_48,sVar5)" identifier = (call_expression "FUN_00014fa0(local_48,sVar5)" identifier (argument_list "(local_48,sVar5)" ( identifier , identifier )))) ;) (expression_statement "local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);" (assignment_expression "local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54)" identifier = (call_expression "FUN_00016e10(local_3c,pbVar3,uVar7,&local_54)" identifier (argument_list "(local_3c,pbVar3,uVar7,&local_54)" ( identifier , identifier , identifier , (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }" if (parenthesized_expression "(local_44 == 0xffffffff)" ( (binary_expression "local_44 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n          local_44 = 1;\n          local_40 = 0;\n        }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }" else (compound_statement "{\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }" { (if_statement "if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }" if (parenthesized_expression "(local_44 != 0xfffffffe)" ( (binary_expression "local_44 != 0xfffffffe" identifier != number_literal) )) (compound_statement "{\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }" { (if_statement "if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (compound_statement "{\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (if_statement "if (*local_48 != 0) goto LAB_00014bf7;" if (parenthesized_expression "(*local_48 != 0)" ( (binary_expression "*local_48 != 0" (pointer_expression "*local_48" * identifier) != number_literal) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }" if (parenthesized_expression "(local_3c[0] != 0)" ( (binary_expression "local_3c[0] != 0" (subscript_expression "local_3c[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }" { (labeled_statement "LAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");" statement_identifier : (expression_statement "__assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");" (call_expression "__assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next")" identifier (argument_list "("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next")" ( (string_literal ""iter->cur.wc == 0"" " string_content ") , (string_literal ""mbuiter.h"" " string_content ") , number_literal , (string_literal ""mbuiter_multi_next"" " string_content ") ))) ;)) })) })) (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "iVar8 = mbsinit(&local_54);" (assignment_expression "iVar8 = mbsinit(&local_54)" identifier = (call_expression "mbsinit(&local_54)" identifier (argument_list "(&local_54)" ( (pointer_expression "&local_54" & identifier) )))) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) (if_statement "if (iVar8 != 0) {\n              local_58 = '\0';\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              local_58 = '\0';\n            }" { (expression_statement "local_58 = '\0';" (assignment_expression "local_58 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (goto_statement "goto joined_r0x000146a5;" goto statement_identifier ;) })) (expression_statement "local_44 = strlen((char *)local_48);" (assignment_expression "local_44 = strlen((char *)local_48)" identifier = (call_expression "strlen((char *)local_48)" identifier (argument_list "((char *)local_48)" ( (cast_expression "(char *)local_48" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) }))) }))) (expression_statement "local_4c = 1;" (assignment_expression "local_4c = 1" identifier = number_literal) ;) (if_statement "if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }" if (parenthesized_expression "(local_84 == '\0')" ( (binary_expression "local_84 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }" { (if_statement "if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }" { (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" if (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             )" ( (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (binary_expression "&DAT_0001b360 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0001b360" & identifier) + (binary_expression "(uint)(*local_80 >> 5) * 4" (call_expression "(uint)(*local_80 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_80 >> 5)" ( (binary_expression "*local_80 >> 5" (pointer_expression "*local_80" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*local_80 & 0x1f)" ( (binary_expression "*local_80 & 0x1f" (pointer_expression "*local_80" * identifier) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_74[0] = (wint_t)(char)*local_80;" (assignment_expression "local_74[0] = (wint_t)(char)*local_80" (subscript_expression "local_74[0]" identifier [ number_literal ]) = (binary_expression "(wint_t)(char)*local_80" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000146fa;" goto statement_identifier ;) })) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00014bd8;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;)) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) })) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" identifier = identifier) ;) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" identifier = (call_expression "FUN_00014fa0(local_80,sVar5)" identifier (argument_list "(local_80,sVar5)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier (argument_list "(local_74,pbVar3,uVar7,&local_8c)" ( identifier , identifier , identifier , (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }" if (parenthesized_expression "(local_7c == 0xffffffff)" ( (binary_expression "local_7c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n          local_7c = 1;\n          local_78 = '\0';\n        }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }" else (compound_statement "{\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }" { (if_statement "if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" if (parenthesized_expression "(local_7c != 0xfffffffe)" ( (binary_expression "local_7c != 0xfffffffe" identifier != number_literal) )) (compound_statement "{\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" { (if_statement "if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (compound_statement "{\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) goto LAB_00014bf7;" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (local_74[0] != 0) goto LAB_00014c16;" if (parenthesized_expression "(local_74[0] != 0)" ( (binary_expression "local_74[0] != 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00014c16;" goto statement_identifier ;)) })) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n              bVar2 = false;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              bVar2 = false;\n            }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) })) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000146fa;" goto statement_identifier ;) })) (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" identifier = (call_expression "strlen((char *)local_80)" identifier (argument_list "((char *)local_80)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) }) (else_clause "else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }" else (if_statement "if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }" if (parenthesized_expression "(local_78 != '\0')" ( (binary_expression "local_78 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }" { (labeled_statement "LAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }" statement_identifier : (if_statement "if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }" if (parenthesized_expression "(local_74[0] == 0)" ( (binary_expression "local_74[0] == 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nFUN_00012500:\n                    \n          abort();\n        }" { (labeled_statement "FUN_00012500:\n                    \n          abort();" statement_identifier : (expression_statement "abort();" (call_expression "abort()" identifier (argument_list "()" ( ))) ;)) }))) })))) (expression_statement "local_80 = local_80 + local_7c;" (assignment_expression "local_80 = local_80 + local_7c" identifier = (binary_expression "local_80 + local_7c" identifier + identifier)) ;) (expression_statement "local_48 = local_48 + local_44;" (assignment_expression "local_48 = local_48 + local_44" identifier = (binary_expression "local_48 + local_44" identifier + identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) }))) (labeled_statement "LAB_00014402:\n  local_a1 = false;" statement_identifier : (expression_statement "local_a1 = false;" (assignment_expression "local_a1 = false" identifier = false) ;)) (labeled_statement "LAB_00014407:\n  free(__s);" statement_identifier : (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;)) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00019640();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_00019640();\n  }" { (expression_statement "FUN_00019640();" (call_expression "FUN_00019640()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return local_a1;" return identifier ;) (labeled_statement "LAB_000147c3:\n  local_4c = 1;" statement_identifier : (expression_statement "local_4c = 1;" (assignment_expression "local_4c = 1" identifier = number_literal) ;)) (if_statement "if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }" if (parenthesized_expression "(local_84 == '\0')" ( (binary_expression "local_84 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }" { (if_statement "if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }" { (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }" if (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0)" ( (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" ( (binary_expression "&DAT_0001b360 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0001b360" & identifier) + (binary_expression "(uint)(*local_80 >> 5) * 4" (call_expression "(uint)(*local_80 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*local_80 >> 5)" ( (binary_expression "*local_80 >> 5" (pointer_expression "*local_80" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*local_80 & 0x1f)" ( (binary_expression "*local_80 & 0x1f" (pointer_expression "*local_80" * identifier) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "wVar9 = (wint_t)(char)*local_80;" (assignment_expression "wVar9 = (wint_t)(char)*local_80" identifier = (binary_expression "(wint_t)(char)*local_80" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_74[0] = wVar9;" (assignment_expression "local_74[0] = wVar9" (subscript_expression "local_74[0]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00014819;" goto statement_identifier ;) })) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00014bd8;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00014bd8;" goto statement_identifier ;)) })) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" identifier = identifier) ;) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" identifier = (call_expression "FUN_00014fa0(local_80,sVar5)" identifier (argument_list "(local_80,sVar5)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier (argument_list "(local_74,pbVar3,uVar7,&local_8c)" ( identifier , identifier , identifier , (pointer_expression "&local_8c" & identifier) )))) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) (if_statement "if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }" if (parenthesized_expression "(local_7c == 0xffffffff)" ( (binary_expression "local_7c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0001481d;" goto statement_identifier ;) })) (if_statement "if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }" if (parenthesized_expression "(local_7c == 0xfffffffe)" ( (binary_expression "local_7c == 0xfffffffe" identifier == number_literal) )) (compound_statement "{\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }" { (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" identifier = (call_expression "strlen((char *)local_80)" identifier (argument_list "((char *)local_80)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" identifier = (subscript_expression "local_74[0]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0001481d;" goto statement_identifier ;) })) (if_statement "if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }" if (parenthesized_expression "(local_7c != 0)" ( (binary_expression "local_7c != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }" { (labeled_statement "LAB_00014a6b:\n      local_78 = '\x01';" statement_identifier : (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;)) (expression_statement "mbsinit(&local_8c);" (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) ))) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_00014819;" goto statement_identifier ;) })) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) goto LAB_00014bf7;" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (goto_statement "goto LAB_00014bf7;" goto statement_identifier ;)) (if_statement "if (local_74[0] == 0) goto LAB_00014a6b;" if (parenthesized_expression "(local_74[0] == 0)" ( (binary_expression "local_74[0] == 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00014a6b;" goto statement_identifier ;)) (labeled_statement "LAB_00014b87:\n    local_7c = 1;" statement_identifier : (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;)) (expression_statement "FUN_00014310();" (call_expression "FUN_00014310()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00014b90:\n    local_7c = strlen((char *)local_80);" statement_identifier : (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" identifier = (call_expression "strlen((char *)local_80)" identifier (argument_list "((char *)local_80)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) }) (else_clause "else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }" else (compound_statement "{\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }" { (if_statement "if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" if (parenthesized_expression "(local_78 == '\0')" ( (binary_expression "local_78 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }" { (labeled_statement "LAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;" statement_identifier : (if_statement "if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;" if (parenthesized_expression "((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0))" ( (binary_expression "(local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)" (parenthesized_expression "(local_78 == '\0')" ( (binary_expression "local_78 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(iVar8 = iswalnum(wVar9), iVar8 == 0)" ( (comma_expression "iVar8 = iswalnum(wVar9), iVar8 == 0" (assignment_expression "iVar8 = iswalnum(wVar9)" identifier = (call_expression "iswalnum(wVar9)" identifier (argument_list "(wVar9)" ( identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00014834;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" else (compound_statement "{\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" { (labeled_statement "LAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;" statement_identifier : (if_statement "if (wVar9 != 0) goto LAB_0001481d;" if (parenthesized_expression "(wVar9 != 0)" ( (binary_expression "wVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001481d;" goto statement_identifier ;))) (labeled_statement "LAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;" statement_identifier : (if_statement "if (local_a1 != false) goto LAB_00014407;" if (parenthesized_expression "(local_a1 != false)" ( (binary_expression "local_a1 != false" identifier != false) )) (goto_statement "goto LAB_00014407;" goto statement_identifier ;))) }))) (expression_statement "local_8c.__value.__wch = 0;" (assignment_expression "local_8c.__value.__wch = 0" (field_expression "local_8c.__value.__wch" (field_expression "local_8c.__value" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_8c.__count = 0;" (assignment_expression "local_8c.__count = 0" (field_expression "local_8c.__count" identifier . field_identifier) = number_literal) ;) (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }" if (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4)" ( (binary_expression "&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4" (pointer_expression "&DAT_0001b360" & identifier) + (binary_expression "(uint)(*pbVar4 >> 5) * 4" (call_expression "(uint)(*pbVar4 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*pbVar4 >> 5)" ( (binary_expression "*pbVar4 >> 5" (pointer_expression "*pbVar4" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*pbVar4 & 0x1f)" ( (binary_expression "*pbVar4 & 0x1f" (pointer_expression "*pbVar4" * identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }" { (expression_statement "local_80 = pbVar4;" (assignment_expression "local_80 = pbVar4" identifier = identifier) ;) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" identifier = (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }" { (labeled_statement "LAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");" statement_identifier : (expression_statement "__assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");" (call_expression "__assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next")" identifier (argument_list "("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next")" ( (string_literal ""mbsinit (&iter->state)"" " string_content ") , (string_literal ""mbuiter.h"" " string_content ") , number_literal , (string_literal ""mbuiter_multi_next"" " string_content ") ))) ;)) })) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" identifier = identifier) ;) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" identifier = (call_expression "FUN_00014fa0(local_80,sVar5)" identifier (argument_list "(local_80,sVar5)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" identifier (argument_list "(local_74,pbVar3,uVar7,&local_8c)" ( identifier , identifier , identifier , (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }" if (parenthesized_expression "(local_7c == 0xffffffff)" ( (binary_expression "local_7c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        local_7c = 1;\n        goto LAB_0001489d;\n      }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001489d;" goto statement_identifier ;) })) (if_statement "if (local_7c == 0xfffffffe) goto LAB_00014b90;" if (parenthesized_expression "(local_7c == 0xfffffffe)" ( (binary_expression "local_7c == 0xfffffffe" identifier == number_literal) )) (goto_statement "goto LAB_00014b90;" goto statement_identifier ;)) (if_statement "if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (compound_statement "{\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (compound_statement "{\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }" { (labeled_statement "LAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");" statement_identifier : (expression_statement "__assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");" (call_expression "__assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next")" identifier (argument_list "("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next")" ( (string_literal ""*iter->cur.ptr == \'\\0\'"" " string_content escape_sequence escape_sequence string_content escape_sequence ") , (string_literal ""mbuiter.h"" " string_content ") , number_literal , (string_literal ""mbuiter_multi_next"" " string_content ") ))) ;)) })) (if_statement "if (local_74[0] != 0) goto LAB_00014b87;" if (parenthesized_expression "(local_74[0] != 0)" ( (binary_expression "local_74[0] != 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00014b87;" goto statement_identifier ;)) })) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "mbsinit(&local_8c);" (call_expression "mbsinit(&local_8c)" identifier (argument_list "(&local_8c)" ( (pointer_expression "&local_8c" & identifier) ))) ;) }) (else_clause "else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }" else (compound_statement "{\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_74[0] = (wint_t)(char)*pbVar4;" (assignment_expression "local_74[0] = (wint_t)(char)*pbVar4" (subscript_expression "local_74[0]" identifier [ number_literal ]) = (binary_expression "(wint_t)(char)*pbVar4" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_80 = pbVar4;" (assignment_expression "local_80 = pbVar4" identifier = identifier) ;) }))) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (local_74[0] == 0) goto LAB_00014402;" if (parenthesized_expression "(local_74[0] == 0)" ( (binary_expression "local_74[0] == 0" (subscript_expression "local_74[0]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00014402;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0001489d:\n  param_1 = pbVar4 + local_7c;" statement_identifier : (expression_statement "param_1 = pbVar4 + local_7c;" (assignment_expression "param_1 = pbVar4 + local_7c" identifier = (binary_expression "pbVar4 + local_7c" identifier + identifier)) ;)) (goto_statement "goto LAB_00014380;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (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 IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ (subscript_expression IDENT [ LIT ]) ]) & LIT) )) == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ IDENT ]) & LIT) )) == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) == LIT)) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) }) (else_clause else (compound_statement { (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 (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) >> LIT) ))) * LIT)) )))) >> (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) ))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = LIT) ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (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 (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) >> LIT) ))) * LIT)) )))) >> (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) ))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (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 (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) >> LIT) ))) * LIT)) )))) >> (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) ))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) }))) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( BOOL )) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return IDENT ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (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 (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) >> LIT) ))) * LIT)) )))) >> (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) ))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != BOOL) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (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 (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) >> LIT) ))) * LIT)) )))) >> (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) ))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "bool __regparm3 FUN_00014340(byte *param_1,undefined4 param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  byte *pbVar3;\n  byte *__s;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  wint_t wVar9;\n  int in_GS_OFFSET;\n  bool local_a1;\n  mbstate_t local_8c;\n  char local_84;\n  byte *local_80;\n  size_t local_7c;\n  char local_78;\n  wint_t local_74 [7];\n  char local_58;\n  mbstate_t local_54;\n  undefined1 local_4c;\n  byte *local_48;\n  size_t local_44;\n  undefined1 local_40;\n  int local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1434b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s = (byte *)FUN_00015010(param_2,2);\nLAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(__s);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00019640();\n  }\n  return local_a1;\nLAB_000147c3:\n  local_4c = 1;\n  if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }\nLAB_0001489d:\n  param_1 = pbVar4 + local_7c;\n  goto LAB_00014380;\n}" (primitive_type "bool") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00014340(byte *param_1,undefined4 param_2)" (identifier "FUN_00014340") (parameter_list "(byte *param_1,undefined4 param_2)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  byte *pbVar3;\n  byte *__s;\n  byte *pbVar4;\n  size_t sVar5;\n  ushort **ppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  wint_t wVar9;\n  int in_GS_OFFSET;\n  bool local_a1;\n  mbstate_t local_8c;\n  char local_84;\n  byte *local_80;\n  size_t local_7c;\n  char local_78;\n  wint_t local_74 [7];\n  char local_58;\n  mbstate_t local_54;\n  undefined1 local_4c;\n  byte *local_48;\n  size_t local_44;\n  undefined1 local_40;\n  int local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1434b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s = (byte *)FUN_00015010(param_2,2);\nLAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }\nLAB_00014402:\n  local_a1 = false;\nLAB_00014407:\n  free(__s);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00019640();\n  }\n  return local_a1;\nLAB_000147c3:\n  local_4c = 1;\n  if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }\nLAB_0001489d:\n  param_1 = pbVar4 + local_7c;\n  goto LAB_00014380;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "byte *pbVar3;" (type_identifier "byte") (pointer_declarator "*pbVar3" (* "*") (identifier "pbVar3")) (; ";")) (declaration "byte *__s;" (type_identifier "byte") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "byte *pbVar4;" (type_identifier "byte") (pointer_declarator "*pbVar4" (* "*") (identifier "pbVar4")) (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "ushort **ppuVar6;" (type_identifier "ushort") (pointer_declarator "**ppuVar6" (* "*") (pointer_declarator "*ppuVar6" (* "*") (identifier "ppuVar6"))) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "wint_t wVar9;" (type_identifier "wint_t") (identifier "wVar9") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool local_a1;" (primitive_type "bool") (identifier "local_a1") (; ";")) (declaration "mbstate_t local_8c;" (type_identifier "mbstate_t") (identifier "local_8c") (; ";")) (declaration "char local_84;" (primitive_type "char") (identifier "local_84") (; ";")) (declaration "byte *local_80;" (type_identifier "byte") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "size_t local_7c;" (primitive_type "size_t") (identifier "local_7c") (; ";")) (declaration "char local_78;" (primitive_type "char") (identifier "local_78") (; ";")) (declaration "wint_t local_74 [7];" (type_identifier "wint_t") (array_declarator "local_74 [7]" (identifier "local_74") ([ "[") (number_literal "7") (] "]")) (; ";")) (declaration "char local_58;" (primitive_type "char") (identifier "local_58") (; ";")) (declaration "mbstate_t local_54;" (type_identifier "mbstate_t") (identifier "local_54") (; ";")) (declaration "undefined1 local_4c;" (type_identifier "undefined1") (identifier "local_4c") (; ";")) (declaration "byte *local_48;" (type_identifier "byte") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "size_t local_44;" (primitive_type "size_t") (identifier "local_44") (; ";")) (declaration "undefined1 local_40;" (type_identifier "undefined1") (identifier "local_40") (; ";")) (declaration "int local_3c [7];" (primitive_type "int") (array_declarator "local_3c [7]" (identifier "local_3c") ([ "[") (number_literal "7") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x1434b;" (assignment_expression "uStack_14 = 0x1434b" (identifier "uStack_14") (= "=") (number_literal "0x1434b")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "__s = (byte *)FUN_00015010(param_2,2);" (assignment_expression "__s = (byte *)FUN_00015010(param_2,2)" (identifier "__s") (= "=") (cast_expression "(byte *)FUN_00015010(param_2,2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00015010(param_2,2)" (identifier "FUN_00015010") (argument_list "(param_2,2)" (( "(") (identifier "param_2") (, ",") (number_literal "2") () ")"))))) (; ";")) (labeled_statement "LAB_00014380:\n  if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }" (statement_identifier "LAB_00014380") (: ":") (if_statement "if (*param_1 != 0) {\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(*param_1 != 0)" (( "(") (binary_expression "*param_1 != 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_8c.__value.__wch = 0;\n    local_80 = param_1;\n    if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }\n    local_a1 = true;\nLAB_00014603:\n    local_8c.__value.__wch = 0;\n    bVar2 = false;\n    local_8c.__count = 0;\n    local_58 = '\0';\n    local_54.__count = 0;\n    local_54.__value.__wch = 0;\n    local_80 = pbVar4;\n    local_48 = __s;\n    do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );\n  }" ({ "{") (while_statement "while( true ) {\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);\n      if (pbVar4 == (byte *)0x0) goto LAB_00014402;\n      sVar5 = __ctype_get_mb_cur_max();\n      if (1 < sVar5) break;\n      sVar5 = strlen((char *)__s);\n      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }\n      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;\n    }" ({ "{") (expression_statement "pbVar4 = (byte *)FUN_00017cf0(param_1,__s);" (assignment_expression "pbVar4 = (byte *)FUN_00017cf0(param_1,__s)" (identifier "pbVar4") (= "=") (cast_expression "(byte *)FUN_00017cf0(param_1,__s)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00017cf0(param_1,__s)" (identifier "FUN_00017cf0") (argument_list "(param_1,__s)" (( "(") (identifier "param_1") (, ",") (identifier "__s") () ")"))))) (; ";")) (if_statement "if (pbVar4 == (byte *)0x0) goto LAB_00014402;" (if "if") (parenthesized_expression "(pbVar4 == (byte *)0x0)" (( "(") (binary_expression "pbVar4 == (byte *)0x0" (identifier "pbVar4") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00014402;" (goto "goto") (statement_identifier "LAB_00014402") (; ";"))) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" (identifier "sVar5") (= "=") (call_expression "__ctype_get_mb_cur_max()" (identifier "__ctype_get_mb_cur_max") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (1 < sVar5) break;" (if "if") (parenthesized_expression "(1 < sVar5)" (( "(") (binary_expression "1 < sVar5" (number_literal "1") (< "<") (identifier "sVar5")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "sVar5 = strlen((char *)__s);" (assignment_expression "sVar5 = strlen((char *)__s)" (identifier "sVar5") (= "=") (call_expression "strlen((char *)__s)" (identifier "strlen") (argument_list "((char *)__s)" (( "(") (cast_expression "(char *)__s" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s")) () ")")))) (; ";")) (if_statement "if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {\n        local_a1 = true;\n        goto LAB_00014407;\n      }" (if "if") (parenthesized_expression "(((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0))))" (( "(") (binary_expression "((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&\n         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))" (parenthesized_expression "((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0))" (( "(") (binary_expression "(pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)" (parenthesized_expression "(pbVar4 <= param_1)" (( "(") (binary_expression "pbVar4 <= param_1" (identifier "pbVar4") (<= "<=") (identifier "param_1")) () ")")) (|| "||") (parenthesized_expression "(ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)" (( "(") (comma_expression "ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0" (assignment_expression "ppuVar6 = __ctype_b_loc()" (identifier "ppuVar6") (= "=") (call_expression "__ctype_b_loc()" (identifier "__ctype_b_loc") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "((*ppuVar6)[pbVar4[-1]] & 8) == 0" (parenthesized_expression "((*ppuVar6)[pbVar4[-1]] & 8)" (( "(") (binary_expression "(*ppuVar6)[pbVar4[-1]] & 8" (subscript_expression "(*ppuVar6)[pbVar4[-1]]" (parenthesized_expression "(*ppuVar6)" (( "(") (pointer_expression "*ppuVar6" (* "*") (identifier "ppuVar6")) () ")")) ([ "[") (subscript_expression "pbVar4[-1]" (identifier "pbVar4") ([ "[") (number_literal "-1") (] "]")) (] "]")) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))" (( "(") (parenthesized_expression "(bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0))" (( "(") (comma_expression "bVar1 = pbVar4[sVar5], bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)" (assignment_expression "bVar1 = pbVar4[sVar5]" (identifier "bVar1") (= "=") (subscript_expression "pbVar4[sVar5]" (identifier "pbVar4") ([ "[") (identifier "sVar5") (] "]"))) (, ",") (binary_expression "bVar1 == 0 ||\n          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)" (binary_expression "bVar1 == 0" (identifier "bVar1") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)" (( "(") (comma_expression "ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0" (assignment_expression "ppuVar6 = __ctype_b_loc()" (identifier "ppuVar6") (= "=") (call_expression "__ctype_b_loc()" (identifier "__ctype_b_loc") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "((*ppuVar6)[bVar1] & 8) == 0" (parenthesized_expression "((*ppuVar6)[bVar1] & 8)" (( "(") (binary_expression "(*ppuVar6)[bVar1] & 8" (subscript_expression "(*ppuVar6)[bVar1]" (parenthesized_expression "(*ppuVar6)" (( "(") (pointer_expression "*ppuVar6" (* "*") (identifier "ppuVar6")) () ")")) ([ "[") (identifier "bVar1") (] "]")) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        local_a1 = true;\n        goto LAB_00014407;\n      }" ({ "{") (expression_statement "local_a1 = true;" (assignment_expression "local_a1 = true" (identifier "local_a1") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_00014407;" (goto "goto") (statement_identifier "LAB_00014407") (; ";")) (} "}"))) (if_statement "if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;" (if "if") (parenthesized_expression "((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0))" (( "(") (binary_expression "(*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)" (parenthesized_expression "(*pbVar4 == 0)" (( "(") (binary_expression "*pbVar4 == 0" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_1 = pbVar4 + 1, *param_1 == 0)" (( "(") (comma_expression "param_1 = pbVar4 + 1, *param_1 == 0" (assignment_expression "param_1 = pbVar4 + 1" (identifier "param_1") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*param_1 == 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00014402;" (goto "goto") (statement_identifier "LAB_00014402") (; ";"))) (} "}"))) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (expression_statement "local_8c.__count = 0;" (assignment_expression "local_8c.__count = 0" (field_expression "local_8c.__count" (identifier "local_8c") (. ".") (field_identifier "__count")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8c.__value.__wch = 0;" (assignment_expression "local_8c.__value.__wch = 0" (field_expression "local_8c.__value.__wch" (field_expression "local_8c.__value" (identifier "local_8c") (. ".") (field_identifier "__value")) (. ".") (field_identifier "__wch")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = param_1;" (assignment_expression "local_80 = param_1" (identifier "local_80") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (param_1 < pbVar4) {\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }" (if "if") (parenthesized_expression "(param_1 < pbVar4)" (( "(") (binary_expression "param_1 < pbVar4" (identifier "param_1") (< "<") (identifier "pbVar4")) () ")")) (compound_statement "{\n      do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);\n      if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }\n    }" ({ "{") (do_statement "do {\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      } while (local_80 < pbVar4);" (do "do") (compound_statement "{\n        local_84 = '\0';\n        if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }\n        local_80 = local_80 + local_7c;\n        local_84 = 0;\n      }" ({ "{") (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" (identifier "local_84") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (bVar2) {\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }\n        else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\nLAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();\n          pbVar3 = local_80;\n          uVar7 = FUN_00014fa0(local_80,sVar5);\n          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n          wVar9 = local_74[0];\n          if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }\n        }" ({ "{") (labeled_statement "LAB_000144df:\n          sVar5 = __ctype_get_mb_cur_max();" (statement_identifier "LAB_000144df") (: ":") (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" (identifier "sVar5") (= "=") (call_expression "__ctype_get_mb_cur_max()" (identifier "__ctype_get_mb_cur_max") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" (identifier "pbVar3") (= "=") (identifier "local_80")) (; ";")) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" (identifier "uVar7") (= "=") (call_expression "FUN_00014fa0(local_80,sVar5)" (identifier "FUN_00014fa0") (argument_list "(local_80,sVar5)" (( "(") (identifier "local_80") (, ",") (identifier "sVar5") () ")")))) (; ";")) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" (identifier "local_7c") (= "=") (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" (identifier "FUN_00016e10") (argument_list "(local_74,pbVar3,uVar7,&local_8c)" (( "(") (identifier "local_74") (, ",") (identifier "pbVar3") (, ",") (identifier "uVar7") (, ",") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" (identifier "wVar9") (= "=") (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (local_7c == 0xffffffff) {\n            local_7c = 1;\n            local_78 = '\0';\n          }\n          else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }" (if "if") (parenthesized_expression "(local_7c == 0xffffffff)" (( "(") (binary_expression "local_7c == 0xffffffff" (identifier "local_7c") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n            local_7c = 1;\n            local_78 = '\0';\n          }" ({ "{") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" (identifier "local_78") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }" (else "else") (compound_statement "{\n            if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }\n            local_7c = strlen((char *)local_80);\n            local_78 = '\0';\n            wVar9 = local_74[0];\n          }" ({ "{") (if_statement "if (local_7c != 0xfffffffe) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }" (if "if") (parenthesized_expression "(local_7c != 0xfffffffe)" (( "(") (binary_expression "local_7c != 0xfffffffe" (identifier "local_7c") (!= "!=") (number_literal "0xfffffffe")) () ")")) (compound_statement "{\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }\n              local_78 = '\x01';\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 != 0) {\n                bVar2 = false;\n              }\n              goto LAB_000144b2;\n            }" ({ "{") (if_statement "if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }" (if "if") (parenthesized_expression "(local_7c == 0)" (( "(") (binary_expression "local_7c == 0" (identifier "local_7c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00014bf7;\n                if (local_74[0] != 0) goto LAB_00014c16;\n              }" ({ "{") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (if_statement "if (*local_80 != 0) goto LAB_00014bf7;" (if "if") (parenthesized_expression "(*local_80 != 0)" (( "(") (binary_expression "*local_80 != 0" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014bf7;" (goto "goto") (statement_identifier "LAB_00014bf7") (; ";"))) (if_statement "if (local_74[0] != 0) goto LAB_00014c16;" (if "if") (parenthesized_expression "(local_74[0] != 0)" (( "(") (binary_expression "local_74[0] != 0" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014c16;" (goto "goto") (statement_identifier "LAB_00014c16") (; ";"))) (} "}"))) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" (identifier "local_78") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" (identifier "iVar8") (= "=") (call_expression "mbsinit(&local_8c)" (identifier "mbsinit") (argument_list "(&local_8c)" (( "(") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n                bVar2 = false;\n              }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                bVar2 = false;\n              }" ({ "{") (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (} "}"))) (goto_statement "goto LAB_000144b2;" (goto "goto") (statement_identifier "LAB_000144b2") (; ";")) (} "}"))) (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" (identifier "local_7c") (= "=") (call_expression "strlen((char *)local_80)" (identifier "strlen") (argument_list "((char *)local_80)" (( "(") (cast_expression "(char *)local_80" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_80")) () ")")))) (; ";")) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" (identifier "local_78") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" (identifier "wVar9") (= "=") (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }" (else "else") (compound_statement "{\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }\n          local_7c = 1;\n          wVar9 = (wint_t)(char)*local_80;\n          local_78 = '\x01';\n          local_74[0] = wVar9;\nLAB_000144b2:\n          local_84 = '\x01';\n          if (wVar9 == 0) goto FUN_00012500;\n        }" ({ "{") (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             ) {\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }" (if "if") (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0\n             )" (( "(") (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" (* "*") (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" (( "(") (binary_expression "&DAT_0001b360 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0001b360" (& "&") (identifier "DAT_0001b360")) (+ "+") (binary_expression "(uint)(*local_80 >> 5) * 4" (call_expression "(uint)(*local_80 >> 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*local_80 >> 5)" (( "(") (binary_expression "*local_80 >> 5" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (>> ">>") (number_literal "5")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(*local_80 & 0x1f)" (( "(") (binary_expression "*local_80 & 0x1f" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }\n            goto LAB_00014bd8;\n          }" ({ "{") (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" (identifier "iVar8") (= "=") (call_expression "mbsinit(&local_8c)" (identifier "mbsinit") (argument_list "(&local_8c)" (( "(") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n              bVar2 = true;\n              goto LAB_000144df;\n            }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              bVar2 = true;\n              goto LAB_000144df;\n            }" ({ "{") (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_000144df;" (goto "goto") (statement_identifier "LAB_000144df") (; ";")) (} "}"))) (goto_statement "goto LAB_00014bd8;" (goto "goto") (statement_identifier "LAB_00014bd8") (; ";")) (} "}"))) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (expression_statement "wVar9 = (wint_t)(char)*local_80;" (assignment_expression "wVar9 = (wint_t)(char)*local_80" (identifier "wVar9") (= "=") (binary_expression "(wint_t)(char)*local_80" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" (( "(") (identifier "wint_t") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (identifier "local_80"))) (; ";")) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" (identifier "local_78") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_74[0] = wVar9;" (assignment_expression "local_74[0] = wVar9" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "wVar9")) (; ";")) (labeled_statement "LAB_000144b2:\n          local_84 = '\x01';" (statement_identifier "LAB_000144b2") (: ":") (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" (identifier "local_84") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";"))) (if_statement "if (wVar9 == 0) goto FUN_00012500;" (if "if") (parenthesized_expression "(wVar9 == 0)" (( "(") (binary_expression "wVar9 == 0" (identifier "wVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto FUN_00012500;" (goto "goto") (statement_identifier "FUN_00012500") (; ";"))) (} "}")))) (expression_statement "local_80 = local_80 + local_7c;" (assignment_expression "local_80 = local_80 + local_7c" (identifier "local_80") (= "=") (binary_expression "local_80 + local_7c" (identifier "local_80") (+ "+") (identifier "local_7c"))) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_80 < pbVar4)" (( "(") (binary_expression "local_80 < pbVar4" (identifier "local_80") (< "<") (identifier "pbVar4")) () ")")) (; ";")) (if_statement "if (local_78 != '\0') {\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }" (if "if") (parenthesized_expression "(local_78 != '\0')" (( "(") (binary_expression "local_78 != '\0'" (identifier "local_78") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        iVar8 = iswalnum(wVar9);\n        local_a1 = iVar8 == 0;\n        goto LAB_00014603;\n      }" ({ "{") (expression_statement "iVar8 = iswalnum(wVar9);" (assignment_expression "iVar8 = iswalnum(wVar9)" (identifier "iVar8") (= "=") (call_expression "iswalnum(wVar9)" (identifier "iswalnum") (argument_list "(wVar9)" (( "(") (identifier "wVar9") () ")")))) (; ";")) (expression_statement "local_a1 = iVar8 == 0;" (assignment_expression "local_a1 = iVar8 == 0" (identifier "local_a1") (= "=") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) (; ";")) (goto_statement "goto LAB_00014603;" (goto "goto") (statement_identifier "LAB_00014603") (; ";")) (} "}"))) (} "}"))) (expression_statement "local_a1 = true;" (assignment_expression "local_a1 = true" (identifier "local_a1") (= "=") (true "true")) (; ";")) (labeled_statement "LAB_00014603:\n    local_8c.__value.__wch = 0;" (statement_identifier "LAB_00014603") (: ":") (expression_statement "local_8c.__value.__wch = 0;" (assignment_expression "local_8c.__value.__wch = 0" (field_expression "local_8c.__value.__wch" (field_expression "local_8c.__value" (identifier "local_8c") (. ".") (field_identifier "__value")) (. ".") (field_identifier "__wch")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (expression_statement "local_8c.__count = 0;" (assignment_expression "local_8c.__count = 0" (field_expression "local_8c.__count" (identifier "local_8c") (. ".") (field_identifier "__count")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = '\0';" (assignment_expression "local_58 = '\0'" (identifier "local_58") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_54.__count = 0;" (assignment_expression "local_54.__count = 0" (field_expression "local_54.__count" (identifier "local_54") (. ".") (field_identifier "__count")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54.__value.__wch = 0;" (assignment_expression "local_54.__value.__wch = 0" (field_expression "local_54.__value.__wch" (field_expression "local_54.__value" (identifier "local_54") (. ".") (field_identifier "__value")) (. ".") (field_identifier "__wch")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = pbVar4;" (assignment_expression "local_80 = pbVar4" (identifier "local_80") (= "=") (identifier "pbVar4")) (; ";")) (expression_statement "local_48 = __s;" (assignment_expression "local_48 = __s" (identifier "local_48") (= "=") (identifier "__s")) (; ";")) (do_statement "do {\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    } while( true );" (do "do") (compound_statement "{\n      local_4c = 0;\n      local_84 = '\0';\n      if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }\n      local_4c = 1;\n      if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n    }" ({ "{") (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" (identifier "local_84") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (local_58 == '\0') {\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }\n      else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }" (if "if") (parenthesized_expression "(local_58 == '\0')" (( "(") (binary_expression "local_58 == '\0'" (identifier "local_58") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }\n        local_44 = 1;\n        local_3c[0] = (int)(char)*local_48;\n        local_40 = 1;\n        wVar9 = local_74[0];\njoined_r0x000146a5:\n        local_74[0] = wVar9;\n        if (local_3c[0] == 0) goto LAB_000147c3;\n      }" ({ "{") (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }" (if "if") (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)" (( "(") (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4)" (* "*") (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4)" (( "(") (binary_expression "&DAT_0001b360 + (uint)(*local_48 >> 5) * 4" (pointer_expression "&DAT_0001b360" (& "&") (identifier "DAT_0001b360")) (+ "+") (binary_expression "(uint)(*local_48 >> 5) * 4" (call_expression "(uint)(*local_48 >> 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*local_48 >> 5)" (( "(") (binary_expression "*local_48 >> 5" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (>> ">>") (number_literal "5")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(*local_48 & 0x1f)" (( "(") (binary_expression "*local_48 & 0x1f" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }\n          goto LAB_00014bd8;\n        }" ({ "{") (expression_statement "iVar8 = mbsinit(&local_54);" (assignment_expression "iVar8 = mbsinit(&local_54)" (identifier "iVar8") (= "=") (call_expression "mbsinit(&local_54)" (identifier "mbsinit") (argument_list "(&local_54)" (( "(") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_58 = '\x01';\n            goto LAB_0001472b;\n          }" ({ "{") (expression_statement "local_58 = '\x01';" (assignment_expression "local_58 = '\x01'" (identifier "local_58") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto LAB_0001472b;" (goto "goto") (statement_identifier "LAB_0001472b") (; ";")) (} "}"))) (goto_statement "goto LAB_00014bd8;" (goto "goto") (statement_identifier "LAB_00014bd8") (; ";")) (} "}"))) (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" (identifier "local_44") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_3c[0] = (int)(char)*local_48;" (assignment_expression "local_3c[0] = (int)(char)*local_48" (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(int)(char)*local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*local_48" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*local_48" (* "*") (identifier "local_48"))))) (; ";")) (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" (identifier "local_40") (= "=") (number_literal "1")) (; ";")) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" (identifier "wVar9") (= "=") (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]"))) (; ";")) (labeled_statement "joined_r0x000146a5:\n        local_74[0] = wVar9;" (statement_identifier "joined_r0x000146a5") (: ":") (expression_statement "local_74[0] = wVar9;" (assignment_expression "local_74[0] = wVar9" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "wVar9")) (; ";"))) (if_statement "if (local_3c[0] == 0) goto LAB_000147c3;" (if "if") (parenthesized_expression "(local_3c[0] == 0)" (( "(") (binary_expression "local_3c[0] == 0" (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000147c3;" (goto "goto") (statement_identifier "LAB_000147c3") (; ";"))) (} "}")) (else_clause "else {\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }" (else "else") (compound_statement "{\nLAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00014fa0(local_48,sVar5);\n        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }\n      }" ({ "{") (labeled_statement "LAB_0001472b:\n        sVar5 = __ctype_get_mb_cur_max();" (statement_identifier "LAB_0001472b") (: ":") (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" (identifier "sVar5") (= "=") (call_expression "__ctype_get_mb_cur_max()" (identifier "__ctype_get_mb_cur_max") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "pbVar3 = local_48;" (assignment_expression "pbVar3 = local_48" (identifier "pbVar3") (= "=") (identifier "local_48")) (; ";")) (expression_statement "uVar7 = FUN_00014fa0(local_48,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_48,sVar5)" (identifier "uVar7") (= "=") (call_expression "FUN_00014fa0(local_48,sVar5)" (identifier "FUN_00014fa0") (argument_list "(local_48,sVar5)" (( "(") (identifier "local_48") (, ",") (identifier "sVar5") () ")")))) (; ";")) (expression_statement "local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);" (assignment_expression "local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54)" (identifier "local_44") (= "=") (call_expression "FUN_00016e10(local_3c,pbVar3,uVar7,&local_54)" (identifier "FUN_00016e10") (argument_list "(local_3c,pbVar3,uVar7,&local_54)" (( "(") (identifier "local_3c") (, ",") (identifier "pbVar3") (, ",") (identifier "uVar7") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (if_statement "if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = 0;\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }" (if "if") (parenthesized_expression "(local_44 == 0xffffffff)" (( "(") (binary_expression "local_44 == 0xffffffff" (identifier "local_44") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n          local_44 = 1;\n          local_40 = 0;\n        }" ({ "{") (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" (identifier "local_44") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }" (else "else") (compound_statement "{\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = 0;\n        }" ({ "{") (if_statement "if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }" (if "if") (parenthesized_expression "(local_44 != 0xfffffffe)" (( "(") (binary_expression "local_44 != 0xfffffffe" (identifier "local_44") (!= "!=") (number_literal "0xfffffffe")) () ")")) (compound_statement "{\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }\n            local_40 = 1;\n            iVar8 = mbsinit(&local_54);\n            wVar9 = local_74[0];\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            goto joined_r0x000146a5;\n          }" ({ "{") (if_statement "if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }" (if "if") (parenthesized_expression "(local_44 == 0)" (( "(") (binary_expression "local_44 == 0" (identifier "local_44") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00014bf7;\n              if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }\n            }" ({ "{") (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" (identifier "local_44") (= "=") (number_literal "1")) (; ";")) (if_statement "if (*local_48 != 0) goto LAB_00014bf7;" (if "if") (parenthesized_expression "(*local_48 != 0)" (( "(") (binary_expression "*local_48 != 0" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014bf7;" (goto "goto") (statement_identifier "LAB_00014bf7") (; ";"))) (if_statement "if (local_3c[0] != 0) {\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }" (if "if") (parenthesized_expression "(local_3c[0] != 0)" (( "(") (binary_expression "local_3c[0] != 0" (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");\n              }" ({ "{") (labeled_statement "LAB_00014c16:\n                    \n                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");" (statement_identifier "LAB_00014c16") (: ":") (expression_statement "__assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");" (call_expression "__assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next")" (identifier "__assert_fail") (argument_list "("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next")" (( "(") (string_literal ""iter->cur.wc == 0"" (" """) (string_content "iter->cur.wc == 0") (" """)) (, ",") (string_literal ""mbuiter.h"" (" """) (string_content "mbuiter.h") (" """)) (, ",") (number_literal "0xb3") (, ",") (string_literal ""mbuiter_multi_next"" (" """) (string_content "mbuiter_multi_next") (" """)) () ")"))) (; ";"))) (} "}"))) (} "}"))) (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" (identifier "local_40") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar8 = mbsinit(&local_54);" (assignment_expression "iVar8 = mbsinit(&local_54)" (identifier "iVar8") (= "=") (call_expression "mbsinit(&local_54)" (identifier "mbsinit") (argument_list "(&local_54)" (( "(") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" (identifier "wVar9") (= "=") (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (iVar8 != 0) {\n              local_58 = '\0';\n            }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_58 = '\0';\n            }" ({ "{") (expression_statement "local_58 = '\0';" (assignment_expression "local_58 = '\0'" (identifier "local_58") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}"))) (goto_statement "goto joined_r0x000146a5;" (goto "goto") (statement_identifier "joined_r0x000146a5") (; ";")) (} "}"))) (expression_statement "local_44 = strlen((char *)local_48);" (assignment_expression "local_44 = strlen((char *)local_48)" (identifier "local_44") (= "=") (call_expression "strlen((char *)local_48)" (identifier "strlen") (argument_list "((char *)local_48)" (( "(") (cast_expression "(char *)local_48" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_48")) () ")")))) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")))) (expression_statement "local_4c = 1;" (assignment_expression "local_4c = 1" (identifier "local_4c") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_84 == '\0') {\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }\n      else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }" (if "if") (parenthesized_expression "(local_84 == '\0')" (( "(") (binary_expression "local_84 == '\0'" (identifier "local_84") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }\n        sVar5 = __ctype_get_mb_cur_max();\n        pbVar3 = local_80;\n        uVar7 = FUN_00014fa0(local_80,sVar5);\n        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n        if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }\n      }" ({ "{") (if_statement "if (!bVar2) {\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00014bd8;\n          bVar2 = true;\n        }" ({ "{") (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             ) {\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" (if "if") (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0\n             )" (( "(") (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" (* "*") (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" (( "(") (binary_expression "&DAT_0001b360 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0001b360" (& "&") (identifier "DAT_0001b360")) (+ "+") (binary_expression "(uint)(*local_80 >> 5) * 4" (call_expression "(uint)(*local_80 >> 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*local_80 >> 5)" (( "(") (binary_expression "*local_80 >> 5" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (>> ">>") (number_literal "5")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(*local_80 & 0x1f)" (( "(") (binary_expression "*local_80 & 0x1f" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_7c = 1;\n            local_74[0] = (wint_t)(char)*local_80;\n            local_78 = '\x01';\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" ({ "{") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_74[0] = (wint_t)(char)*local_80;" (assignment_expression "local_74[0] = (wint_t)(char)*local_80" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "(wint_t)(char)*local_80" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" (( "(") (identifier "wint_t") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (identifier "local_80"))) (; ";")) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" (identifier "local_78") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" (identifier "local_84") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto LAB_000146fa;" (goto "goto") (statement_identifier "LAB_000146fa") (; ";")) (} "}"))) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" (identifier "iVar8") (= "=") (call_expression "mbsinit(&local_8c)" (identifier "mbsinit") (argument_list "(&local_8c)" (( "(") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) goto LAB_00014bd8;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014bd8;" (goto "goto") (statement_identifier "LAB_00014bd8") (; ";"))) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (} "}"))) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" (identifier "sVar5") (= "=") (call_expression "__ctype_get_mb_cur_max()" (identifier "__ctype_get_mb_cur_max") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" (identifier "pbVar3") (= "=") (identifier "local_80")) (; ";")) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" (identifier "uVar7") (= "=") (call_expression "FUN_00014fa0(local_80,sVar5)" (identifier "FUN_00014fa0") (argument_list "(local_80,sVar5)" (( "(") (identifier "local_80") (, ",") (identifier "sVar5") () ")")))) (; ";")) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" (identifier "local_7c") (= "=") (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" (identifier "FUN_00016e10") (argument_list "(local_74,pbVar3,uVar7,&local_8c)" (( "(") (identifier "local_74") (, ",") (identifier "pbVar3") (, ",") (identifier "uVar7") (, ",") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (if_statement "if (local_7c == 0xffffffff) {\n          local_7c = 1;\n          local_78 = '\0';\n        }\n        else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }" (if "if") (parenthesized_expression "(local_7c == 0xffffffff)" (( "(") (binary_expression "local_7c == 0xffffffff" (identifier "local_7c") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n          local_7c = 1;\n          local_78 = '\0';\n        }" ({ "{") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" (identifier "local_78") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }" (else "else") (compound_statement "{\n          if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n        }" ({ "{") (if_statement "if (local_7c != 0xfffffffe) {\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" (if "if") (parenthesized_expression "(local_7c != 0xfffffffe)" (( "(") (binary_expression "local_7c != 0xfffffffe" (identifier "local_7c") (!= "!=") (number_literal "0xfffffffe")) () ")")) (compound_statement "{\n            if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }\n            local_78 = '\x01';\n            iVar8 = mbsinit(&local_8c);\n            if (iVar8 != 0) {\n              bVar2 = false;\n            }\n            local_84 = '\x01';\n            goto LAB_000146fa;\n          }" ({ "{") (if_statement "if (local_7c == 0) {\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }" (if "if") (parenthesized_expression "(local_7c == 0)" (( "(") (binary_expression "local_7c == 0" (identifier "local_7c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_7c = 1;\n              if (*local_80 != 0) goto LAB_00014bf7;\n              if (local_74[0] != 0) goto LAB_00014c16;\n            }" ({ "{") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (if_statement "if (*local_80 != 0) goto LAB_00014bf7;" (if "if") (parenthesized_expression "(*local_80 != 0)" (( "(") (binary_expression "*local_80 != 0" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014bf7;" (goto "goto") (statement_identifier "LAB_00014bf7") (; ";"))) (if_statement "if (local_74[0] != 0) goto LAB_00014c16;" (if "if") (parenthesized_expression "(local_74[0] != 0)" (( "(") (binary_expression "local_74[0] != 0" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014c16;" (goto "goto") (statement_identifier "LAB_00014c16") (; ";"))) (} "}"))) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" (identifier "local_78") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" (identifier "iVar8") (= "=") (call_expression "mbsinit(&local_8c)" (identifier "mbsinit") (argument_list "(&local_8c)" (( "(") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n              bVar2 = false;\n            }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              bVar2 = false;\n            }" ({ "{") (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (} "}"))) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" (identifier "local_84") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto LAB_000146fa;" (goto "goto") (statement_identifier "LAB_000146fa") (; ";")) (} "}"))) (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" (identifier "local_7c") (= "=") (call_expression "strlen((char *)local_80)" (identifier "strlen") (argument_list "((char *)local_80)" (( "(") (cast_expression "(char *)local_80" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_80")) () ")")))) (; ";")) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" (identifier "local_78") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }" (else "else") (if_statement "if (local_78 != '\0') {\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }" (if "if") (parenthesized_expression "(local_78 != '\0')" (( "(") (binary_expression "local_78 != '\0'" (identifier "local_78") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }\n      }" ({ "{") (labeled_statement "LAB_000146fa:\n        if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }" (statement_identifier "LAB_000146fa") (: ":") (if_statement "if (local_74[0] == 0) {\nFUN_00012500:\n                    \n          abort();\n        }" (if "if") (parenthesized_expression "(local_74[0] == 0)" (( "(") (binary_expression "local_74[0] == 0" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nFUN_00012500:\n                    \n          abort();\n        }" ({ "{") (labeled_statement "FUN_00012500:\n                    \n          abort();" (statement_identifier "FUN_00012500") (: ":") (expression_statement "abort();" (call_expression "abort()" (identifier "abort") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")))) (} "}"))))) (expression_statement "local_80 = local_80 + local_7c;" (assignment_expression "local_80 = local_80 + local_7c" (identifier "local_80") (= "=") (binary_expression "local_80 + local_7c" (identifier "local_80") (+ "+") (identifier "local_7c"))) (; ";")) (expression_statement "local_48 = local_48 + local_44;" (assignment_expression "local_48 = local_48 + local_44" (identifier "local_48") (= "=") (binary_expression "local_48 + local_44" (identifier "local_48") (+ "+") (identifier "local_44"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_00014402:\n  local_a1 = false;" (statement_identifier "LAB_00014402") (: ":") (expression_statement "local_a1 = false;" (assignment_expression "local_a1 = false" (identifier "local_a1") (= "=") (false "false")) (; ";"))) (labeled_statement "LAB_00014407:\n  free(__s);" (statement_identifier "LAB_00014407") (: ":") (expression_statement "free(__s);" (call_expression "free(__s)" (identifier "free") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";"))) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00019640();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_00019640();\n  }" ({ "{") (expression_statement "FUN_00019640();" (call_expression "FUN_00019640()" (identifier "FUN_00019640") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return local_a1;" (return "return") (identifier "local_a1") (; ";")) (labeled_statement "LAB_000147c3:\n  local_4c = 1;" (statement_identifier "LAB_000147c3") (: ":") (expression_statement "local_4c = 1;" (assignment_expression "local_4c = 1" (identifier "local_4c") (= "=") (number_literal "1")) (; ";"))) (if_statement "if (local_84 == '\0') {\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }\n  else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }" (if "if") (parenthesized_expression "(local_84 == '\0')" (( "(") (binary_expression "local_84 == '\0'" (identifier "local_84") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }\n    sVar5 = __ctype_get_mb_cur_max();\n    pbVar3 = local_80;\n    uVar7 = FUN_00014fa0(local_80,sVar5);\n    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n    wVar9 = local_74[0];\n    if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }\n    if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }\n    if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }\n    local_7c = 1;\n    if (*local_80 != 0) goto LAB_00014bf7;\n    if (local_74[0] == 0) goto LAB_00014a6b;\nLAB_00014b87:\n    local_7c = 1;\n    FUN_00014310();\nLAB_00014b90:\n    local_7c = strlen((char *)local_80);\n  }" ({ "{") (if_statement "if (!bVar2) {\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) goto LAB_00014bd8;\n    }" ({ "{") (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }" (if "if") (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0)" (( "(") (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" (* "*") (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4)" (( "(") (binary_expression "&DAT_0001b360 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0001b360" (& "&") (identifier "DAT_0001b360")) (+ "+") (binary_expression "(uint)(*local_80 >> 5) * 4" (call_expression "(uint)(*local_80 >> 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*local_80 >> 5)" (( "(") (binary_expression "*local_80 >> 5" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (>> ">>") (number_literal "5")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(*local_80 & 0x1f)" (( "(") (binary_expression "*local_80 & 0x1f" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_7c = 1;\n        wVar9 = (wint_t)(char)*local_80;\n        local_78 = '\x01';\n        local_84 = '\x01';\n        local_74[0] = wVar9;\n        goto LAB_00014819;\n      }" ({ "{") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (expression_statement "wVar9 = (wint_t)(char)*local_80;" (assignment_expression "wVar9 = (wint_t)(char)*local_80" (identifier "wVar9") (= "=") (binary_expression "(wint_t)(char)*local_80" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" (( "(") (identifier "wint_t") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (identifier "local_80"))) (; ";")) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" (identifier "local_78") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" (identifier "local_84") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_74[0] = wVar9;" (assignment_expression "local_74[0] = wVar9" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "wVar9")) (; ";")) (goto_statement "goto LAB_00014819;" (goto "goto") (statement_identifier "LAB_00014819") (; ";")) (} "}"))) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" (identifier "iVar8") (= "=") (call_expression "mbsinit(&local_8c)" (identifier "mbsinit") (argument_list "(&local_8c)" (( "(") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) goto LAB_00014bd8;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014bd8;" (goto "goto") (statement_identifier "LAB_00014bd8") (; ";"))) (} "}"))) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" (identifier "sVar5") (= "=") (call_expression "__ctype_get_mb_cur_max()" (identifier "__ctype_get_mb_cur_max") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" (identifier "pbVar3") (= "=") (identifier "local_80")) (; ";")) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" (identifier "uVar7") (= "=") (call_expression "FUN_00014fa0(local_80,sVar5)" (identifier "FUN_00014fa0") (argument_list "(local_80,sVar5)" (( "(") (identifier "local_80") (, ",") (identifier "sVar5") () ")")))) (; ";")) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" (identifier "local_7c") (= "=") (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" (identifier "FUN_00016e10") (argument_list "(local_74,pbVar3,uVar7,&local_8c)" (( "(") (identifier "local_74") (, ",") (identifier "pbVar3") (, ",") (identifier "uVar7") (, ",") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" (identifier "wVar9") (= "=") (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (local_7c == 0xffffffff) {\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }" (if "if") (parenthesized_expression "(local_7c == 0xffffffff)" (( "(") (binary_expression "local_7c == 0xffffffff" (identifier "local_7c") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n      local_7c = 1;\n      local_78 = '\0';\n      local_84 = '\x01';\n      goto LAB_0001481d;\n    }" ({ "{") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" (identifier "local_78") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" (identifier "local_84") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto LAB_0001481d;" (goto "goto") (statement_identifier "LAB_0001481d") (; ";")) (} "}"))) (if_statement "if (local_7c == 0xfffffffe) {\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }" (if "if") (parenthesized_expression "(local_7c == 0xfffffffe)" (( "(") (binary_expression "local_7c == 0xfffffffe" (identifier "local_7c") (== "==") (number_literal "0xfffffffe")) () ")")) (compound_statement "{\n      local_7c = strlen((char *)local_80);\n      local_78 = '\0';\n      local_84 = '\x01';\n      wVar9 = local_74[0];\n      goto LAB_0001481d;\n    }" ({ "{") (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" (identifier "local_7c") (= "=") (call_expression "strlen((char *)local_80)" (identifier "strlen") (argument_list "((char *)local_80)" (( "(") (cast_expression "(char *)local_80" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_80")) () ")")))) (; ";")) (expression_statement "local_78 = '\0';" (assignment_expression "local_78 = '\0'" (identifier "local_78") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" (identifier "local_84") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "wVar9 = local_74[0];" (assignment_expression "wVar9 = local_74[0]" (identifier "wVar9") (= "=") (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]"))) (; ";")) (goto_statement "goto LAB_0001481d;" (goto "goto") (statement_identifier "LAB_0001481d") (; ";")) (} "}"))) (if_statement "if (local_7c != 0) {\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }" (if "if") (parenthesized_expression "(local_7c != 0)" (( "(") (binary_expression "local_7c != 0" (identifier "local_7c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00014a6b:\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n      local_84 = '\x01';\n      goto LAB_00014819;\n    }" ({ "{") (labeled_statement "LAB_00014a6b:\n      local_78 = '\x01';" (statement_identifier "LAB_00014a6b") (: ":") (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" (identifier "local_78") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";"))) (expression_statement "mbsinit(&local_8c);" (call_expression "mbsinit(&local_8c)" (identifier "mbsinit") (argument_list "(&local_8c)" (( "(") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")"))) (; ";")) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" (identifier "local_84") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto LAB_00014819;" (goto "goto") (statement_identifier "LAB_00014819") (; ";")) (} "}"))) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (if_statement "if (*local_80 != 0) goto LAB_00014bf7;" (if "if") (parenthesized_expression "(*local_80 != 0)" (( "(") (binary_expression "*local_80 != 0" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014bf7;" (goto "goto") (statement_identifier "LAB_00014bf7") (; ";"))) (if_statement "if (local_74[0] == 0) goto LAB_00014a6b;" (if "if") (parenthesized_expression "(local_74[0] == 0)" (( "(") (binary_expression "local_74[0] == 0" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014a6b;" (goto "goto") (statement_identifier "LAB_00014a6b") (; ";"))) (labeled_statement "LAB_00014b87:\n    local_7c = 1;" (statement_identifier "LAB_00014b87") (: ":") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";"))) (expression_statement "FUN_00014310();" (call_expression "FUN_00014310()" (identifier "FUN_00014310") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00014b90:\n    local_7c = strlen((char *)local_80);" (statement_identifier "LAB_00014b90") (: ":") (expression_statement "local_7c = strlen((char *)local_80);" (assignment_expression "local_7c = strlen((char *)local_80)" (identifier "local_7c") (= "=") (call_expression "strlen((char *)local_80)" (identifier "strlen") (argument_list "((char *)local_80)" (( "(") (cast_expression "(char *)local_80" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_80")) () ")")))) (; ";"))) (} "}")) (else_clause "else {\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }" (else "else") (compound_statement "{\n    if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }\n    local_8c.__value.__wch = 0;\n    local_8c.__count = 0;\n    local_84 = '\0';\n    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }\n    local_84 = '\x01';\n    if (local_74[0] == 0) goto LAB_00014402;\n  }" ({ "{") (if_statement "if (local_78 == '\0') {\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }\n    else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" (if "if") (parenthesized_expression "(local_78 == '\0')" (( "(") (binary_expression "local_78 == '\0'" (identifier "local_78") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;\n    }" ({ "{") (labeled_statement "LAB_0001481d:\n      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;" (statement_identifier "LAB_0001481d") (: ":") (if_statement "if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;" (if "if") (parenthesized_expression "((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0))" (( "(") (binary_expression "(local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)" (parenthesized_expression "(local_78 == '\0')" (( "(") (binary_expression "local_78 == '\0'" (identifier "local_78") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(iVar8 = iswalnum(wVar9), iVar8 == 0)" (( "(") (comma_expression "iVar8 = iswalnum(wVar9), iVar8 == 0" (assignment_expression "iVar8 = iswalnum(wVar9)" (identifier "iVar8") (= "=") (call_expression "iswalnum(wVar9)" (identifier "iswalnum") (argument_list "(wVar9)" (( "(") (identifier "wVar9") () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00014834;" (goto "goto") (statement_identifier "LAB_00014834") (; ";")))) (} "}")) (else_clause "else {\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" (else "else") (compound_statement "{\nLAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;\nLAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;\n    }" ({ "{") (labeled_statement "LAB_00014819:\n      if (wVar9 != 0) goto LAB_0001481d;" (statement_identifier "LAB_00014819") (: ":") (if_statement "if (wVar9 != 0) goto LAB_0001481d;" (if "if") (parenthesized_expression "(wVar9 != 0)" (( "(") (binary_expression "wVar9 != 0" (identifier "wVar9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001481d;" (goto "goto") (statement_identifier "LAB_0001481d") (; ";")))) (labeled_statement "LAB_00014834:\n      if (local_a1 != false) goto LAB_00014407;" (statement_identifier "LAB_00014834") (: ":") (if_statement "if (local_a1 != false) goto LAB_00014407;" (if "if") (parenthesized_expression "(local_a1 != false)" (( "(") (binary_expression "local_a1 != false" (identifier "local_a1") (!= "!=") (false "false")) () ")")) (goto_statement "goto LAB_00014407;" (goto "goto") (statement_identifier "LAB_00014407") (; ";")))) (} "}")))) (expression_statement "local_8c.__value.__wch = 0;" (assignment_expression "local_8c.__value.__wch = 0" (field_expression "local_8c.__value.__wch" (field_expression "local_8c.__value" (identifier "local_8c") (. ".") (field_identifier "__value")) (. ".") (field_identifier "__wch")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8c.__count = 0;" (assignment_expression "local_8c.__count = 0" (field_expression "local_8c.__count" (identifier "local_8c") (. ".") (field_identifier "__count")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" (identifier "local_84") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }\n    else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }" (if "if") (parenthesized_expression "((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0)" (( "(") (binary_expression "(*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4)" (* "*") (cast_expression "(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4)" (( "(") (binary_expression "&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4" (pointer_expression "&DAT_0001b360" (& "&") (identifier "DAT_0001b360")) (+ "+") (binary_expression "(uint)(*pbVar4 >> 5) * 4" (call_expression "(uint)(*pbVar4 >> 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*pbVar4 >> 5)" (( "(") (binary_expression "*pbVar4 >> 5" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (>> ">>") (number_literal "5")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(*pbVar4 & 0x1f)" (( "(") (binary_expression "*pbVar4 & 0x1f" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_80 = pbVar4;\n      iVar8 = mbsinit(&local_8c);\n      if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }\n      sVar5 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00014fa0(local_80,sVar5);\n      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }\n      if (local_7c == 0xfffffffe) goto LAB_00014b90;\n      if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }\n      local_78 = '\x01';\n      mbsinit(&local_8c);\n    }" ({ "{") (expression_statement "local_80 = pbVar4;" (assignment_expression "local_80 = pbVar4" (identifier "local_80") (= "=") (identifier "pbVar4")) (; ";")) (expression_statement "iVar8 = mbsinit(&local_8c);" (assignment_expression "iVar8 = mbsinit(&local_8c)" (identifier "iVar8") (= "=") (call_expression "mbsinit(&local_8c)" (identifier "mbsinit") (argument_list "(&local_8c)" (( "(") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n      }" ({ "{") (labeled_statement "LAB_00014bd8:\n                    \n        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");" (statement_identifier "LAB_00014bd8") (: ":") (expression_statement "__assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");" (call_expression "__assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next")" (identifier "__assert_fail") (argument_list "("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next")" (( "(") (string_literal ""mbsinit (&iter->state)"" (" """) (string_content "mbsinit (&iter->state)") (" """)) (, ",") (string_literal ""mbuiter.h"" (" """) (string_content "mbuiter.h") (" """)) (, ",") (number_literal "0x96") (, ",") (string_literal ""mbuiter_multi_next"" (" """) (string_content "mbuiter_multi_next") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "sVar5 = __ctype_get_mb_cur_max();" (assignment_expression "sVar5 = __ctype_get_mb_cur_max()" (identifier "sVar5") (= "=") (call_expression "__ctype_get_mb_cur_max()" (identifier "__ctype_get_mb_cur_max") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pbVar3 = local_80;" (assignment_expression "pbVar3 = local_80" (identifier "pbVar3") (= "=") (identifier "local_80")) (; ";")) (expression_statement "uVar7 = FUN_00014fa0(local_80,sVar5);" (assignment_expression "uVar7 = FUN_00014fa0(local_80,sVar5)" (identifier "uVar7") (= "=") (call_expression "FUN_00014fa0(local_80,sVar5)" (identifier "FUN_00014fa0") (argument_list "(local_80,sVar5)" (( "(") (identifier "local_80") (, ",") (identifier "sVar5") () ")")))) (; ";")) (expression_statement "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" (identifier "local_7c") (= "=") (call_expression "FUN_00016e10(local_74,pbVar3,uVar7,&local_8c)" (identifier "FUN_00016e10") (argument_list "(local_74,pbVar3,uVar7,&local_8c)" (( "(") (identifier "local_74") (, ",") (identifier "pbVar3") (, ",") (identifier "uVar7") (, ",") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (if_statement "if (local_7c == 0xffffffff) {\n        local_7c = 1;\n        goto LAB_0001489d;\n      }" (if "if") (parenthesized_expression "(local_7c == 0xffffffff)" (( "(") (binary_expression "local_7c == 0xffffffff" (identifier "local_7c") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        local_7c = 1;\n        goto LAB_0001489d;\n      }" ({ "{") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0001489d;" (goto "goto") (statement_identifier "LAB_0001489d") (; ";")) (} "}"))) (if_statement "if (local_7c == 0xfffffffe) goto LAB_00014b90;" (if "if") (parenthesized_expression "(local_7c == 0xfffffffe)" (( "(") (binary_expression "local_7c == 0xfffffffe" (identifier "local_7c") (== "==") (number_literal "0xfffffffe")) () ")")) (goto_statement "goto LAB_00014b90;" (goto "goto") (statement_identifier "LAB_00014b90") (; ";"))) (if_statement "if (local_7c == 0) {\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }" (if "if") (parenthesized_expression "(local_7c == 0)" (( "(") (binary_expression "local_7c == 0" (identifier "local_7c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_7c = 1;\n        if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }\n        if (local_74[0] != 0) goto LAB_00014b87;\n      }" ({ "{") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (if_statement "if (*local_80 != 0) {\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }" (if "if") (parenthesized_expression "(*local_80 != 0)" (( "(") (binary_expression "*local_80 != 0" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n        }" ({ "{") (labeled_statement "LAB_00014bf7:\n                    \n          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");" (statement_identifier "LAB_00014bf7") (: ":") (expression_statement "__assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");" (call_expression "__assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next")" (identifier "__assert_fail") (argument_list "("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next")" (( "(") (string_literal ""*iter->cur.ptr == \'\\0\'"" (" """) (string_content "*iter->cur.ptr == ") (escape_sequence "\'") (escape_sequence "\\") (string_content "0") (escape_sequence "\'") (" """)) (, ",") (string_literal ""mbuiter.h"" (" """) (string_content "mbuiter.h") (" """)) (, ",") (number_literal "0xb2") (, ",") (string_literal ""mbuiter_multi_next"" (" """) (string_content "mbuiter_multi_next") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if (local_74[0] != 0) goto LAB_00014b87;" (if "if") (parenthesized_expression "(local_74[0] != 0)" (( "(") (binary_expression "local_74[0] != 0" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014b87;" (goto "goto") (statement_identifier "LAB_00014b87") (; ";"))) (} "}"))) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" (identifier "local_78") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "mbsinit(&local_8c);" (call_expression "mbsinit(&local_8c)" (identifier "mbsinit") (argument_list "(&local_8c)" (( "(") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }" (else "else") (compound_statement "{\n      local_7c = 1;\n      local_74[0] = (wint_t)(char)*pbVar4;\n      local_78 = '\x01';\n      local_80 = pbVar4;\n    }" ({ "{") (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_74[0] = (wint_t)(char)*pbVar4;" (assignment_expression "local_74[0] = (wint_t)(char)*pbVar4" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "(wint_t)(char)*pbVar4" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" (( "(") (identifier "wint_t") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (identifier "pbVar4"))) (; ";")) (expression_statement "local_78 = '\x01';" (assignment_expression "local_78 = '\x01'" (identifier "local_78") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_80 = pbVar4;" (assignment_expression "local_80 = pbVar4" (identifier "local_80") (= "=") (identifier "pbVar4")) (; ";")) (} "}")))) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" (identifier "local_84") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (if_statement "if (local_74[0] == 0) goto LAB_00014402;" (if "if") (parenthesized_expression "(local_74[0] == 0)" (( "(") (binary_expression "local_74[0] == 0" (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014402;" (goto "goto") (statement_identifier "LAB_00014402") (; ";"))) (} "}")))) (labeled_statement "LAB_0001489d:\n  param_1 = pbVar4 + local_7c;" (statement_identifier "LAB_0001489d") (: ":") (expression_statement "param_1 = pbVar4 + local_7c;" (assignment_expression "param_1 = pbVar4 + local_7c" (identifier "param_1") (= "=") (binary_expression "pbVar4 + local_7c" (identifier "pbVar4") (+ "+") (identifier "local_7c"))) (; ";"))) (goto_statement "goto LAB_00014380;" (goto "goto") (statement_identifier "LAB_00014380") (; ";")) (} "}")))

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

type_1 __regparm3 function_1(char *var_8,char *sub)

{
  type_2 *__ps;
  type_2 *__ps_00;
  int var_21;
  type_3 var_10;
  char *pcVar3;
  char *needle;
  type_3 *var_4;
  size_t var_6;
  type_4 **ppuVar6;
  size_t sVar7;
  int var_13;
  type_5 var_14;
  int var_1;
  type_6 *in_stack_ffffff44;
  type_1 var_24;
  type_7 string_iter;
  type_7 tsub_iter;
  
  var_21 = *(int *)(var_1 + 0x14);
  needle = var_2(sub,2);
LAB_00014380:
  if (*var_8 != 0) {
    while( true ) {
      var_4 = (type_3 *)var_3(var_8,needle);
      if (var_4 == (type_3 *)0x0) goto LAB_00014402;
      var_6 = var_5();
      if (1 < var_6) break;
      var_6 = var_7(needle);
      if (((var_4 <= var_8) || (ppuVar6 = var_9(), ((*ppuVar6)[var_4[-1]] & 8) == 0)) &&
         ((var_10 = var_4[var_6], var_10 == 0 ||
          (ppuVar6 = var_9(), ((*ppuVar6)[var_10] & 8) == 0)))) {
        var_24 = true;
        goto LAB_00014407;
      }
      if ((*var_4 == 0) || (var_8 = (char *)(var_4 + 1), *var_8 == 0)) goto LAB_00014402;
    }
    __ps = &string_iter.state;
    string_iter.in_shift = false;
    string_iter.state.__count = 0;
    string_iter.state.__value.__wch = 0;
    string_iter.cur.ptr = var_8;
    if (var_8 < var_4) {
      do {
        string_iter.next_done = false;
        if (string_iter.in_shift == false) {
          if ((*(type_8 *)(var_11 + (type_8)((type_3)*string_iter.cur.ptr >> 5) * 4) >>
               (*string_iter.cur.ptr & 0x1fU) & 1) == 0) {
            var_13 = var_12((type_2 *)__ps);
            if (var_13 != 0) {
              string_iter.in_shift = true;
              goto LAB_000144df;
            }
            goto LAB_00014bd8;
          }
          string_iter.cur.bytes = 1;
          var_14 = (type_5)*string_iter.cur.ptr;
          string_iter.cur.wc_valid = true;
          string_iter.cur.wc = var_14;
LAB_000144b2:
          string_iter.next_done = true;
          if (var_14 == L'\0') goto mbsstr_trimmed_wordbounded_cold_1;
        }
        else {
LAB_000144df:
          var_6 = var_5();
          pcVar3 = string_iter.cur.ptr;
          sVar7 = var_15(string_iter.cur.ptr,var_6);
          string_iter.cur.bytes = var_16(&string_iter.cur.wc,pcVar3,sVar7,__ps);
          var_14 = string_iter.cur.wc;
          if (string_iter.cur.bytes == 0xffffffff) {
            string_iter.cur.bytes = 1;
            string_iter.cur.wc_valid = false;
          }
          else {
            if (string_iter.cur.bytes != 0xfffffffe) {
              if (string_iter.cur.bytes == 0) {
                string_iter.cur.bytes = 1;
                if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;
                if (string_iter.cur.wc != L'\0') goto LAB_00014c16;
              }
              string_iter.cur.wc_valid = true;
              var_13 = var_12((type_2 *)__ps);
              if (var_13 != 0) {
                string_iter.in_shift = false;
              }
              goto LAB_000144b2;
            }
            string_iter.cur.bytes = var_7(string_iter.cur.ptr);
            string_iter.cur.wc_valid = false;
            var_14 = string_iter.cur.wc;
          }
        }
        string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;
        string_iter.next_done = false;
      } while (string_iter.cur.ptr < var_4);
      if (string_iter.cur.wc_valid != false) {
        var_13 = var_17(var_14);
        var_24 = var_13 == 0;
        goto LAB_00014603;
      }
    }
    var_24 = true;
LAB_00014603:
    string_iter.state.__value.__wch = 0;
    __ps_00 = &tsub_iter.state;
    string_iter.in_shift = false;
    string_iter.state.__count = 0;
    tsub_iter.in_shift = false;
    tsub_iter.state.__count = 0;
    tsub_iter.state.__value.__wch = 0;
    string_iter.cur.ptr = (char *)var_4;
    tsub_iter.cur.ptr = needle;
    do {
      tsub_iter.next_done = false;
      string_iter.next_done = false;
      if (tsub_iter.in_shift == false) {
        if ((*(type_8 *)(var_11 + (type_8)((type_3)*tsub_iter.cur.ptr >> 5) * 4) >>
             (*tsub_iter.cur.ptr & 0x1fU) & 1) == 0) {
          var_13 = var_12((type_2 *)__ps_00);
          if (var_13 != 0) {
            tsub_iter.in_shift = true;
            goto LAB_0001472b;
          }
          goto LAB_00014bd8;
        }
        tsub_iter.cur.bytes = 1;
        tsub_iter.cur.wc = (type_5)*tsub_iter.cur.ptr;
        tsub_iter.cur.wc_valid = true;
        var_14 = string_iter.cur.wc;
joined_r0x000146a5:
        string_iter.cur.wc = var_14;
        if (tsub_iter.cur.wc == L'\0') goto LAB_000147c3;
      }
      else {
LAB_0001472b:
        var_6 = var_5();
        pcVar3 = tsub_iter.cur.ptr;
        sVar7 = var_15(tsub_iter.cur.ptr,var_6);
        tsub_iter.cur.bytes = var_16(&tsub_iter.cur.wc,pcVar3,sVar7,__ps_00);
        if (tsub_iter.cur.bytes == 0xffffffff) {
          tsub_iter.cur.bytes = 1;
          tsub_iter.cur.wc_valid = false;
        }
        else {
          if (tsub_iter.cur.bytes != 0xfffffffe) {
            if (tsub_iter.cur.bytes == 0) {
              tsub_iter.cur.bytes = 1;
              if (*tsub_iter.cur.ptr != '\0') goto LAB_00014bf7;
              if (tsub_iter.cur.wc != L'\0') {
LAB_00014c16:
                    /* WARNING: Subroutine does not return */
                var_18("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");
              }
            }
            tsub_iter.cur.wc_valid = true;
            var_13 = var_12((type_2 *)__ps_00);
            var_14 = string_iter.cur.wc;
            if (var_13 != 0) {
              tsub_iter.in_shift = false;
            }
            goto joined_r0x000146a5;
          }
          tsub_iter.cur.bytes = var_7(tsub_iter.cur.ptr);
          tsub_iter.cur.wc_valid = false;
        }
      }
      tsub_iter.next_done = true;
      if (string_iter.next_done == false) {
        if (string_iter.in_shift == false) {
          if ((*(type_8 *)(var_11 + (type_8)((type_3)*string_iter.cur.ptr >> 5) * 4) >>
               (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {
            string_iter.cur.bytes = 1;
            string_iter.cur.wc = (type_5)*string_iter.cur.ptr;
            string_iter.cur.wc_valid = true;
            string_iter.next_done = true;
            goto LAB_000146fa;
          }
          var_13 = var_12((type_2 *)__ps);
          if (var_13 == 0) goto LAB_00014bd8;
          string_iter.in_shift = true;
        }
        var_6 = var_5();
        pcVar3 = string_iter.cur.ptr;
        sVar7 = var_15(string_iter.cur.ptr,var_6);
        string_iter.cur.bytes = var_16(&string_iter.cur.wc,pcVar3,sVar7,__ps);
        if (string_iter.cur.bytes == 0xffffffff) {
          string_iter.cur.bytes = 1;
          string_iter.cur.wc_valid = false;
        }
        else {
          if (string_iter.cur.bytes != 0xfffffffe) {
            if (string_iter.cur.bytes == 0) {
              string_iter.cur.bytes = 1;
              if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;
              if (string_iter.cur.wc != L'\0') goto LAB_00014c16;
            }
            string_iter.cur.wc_valid = true;
            var_13 = var_12((type_2 *)__ps);
            if (var_13 != 0) {
              string_iter.in_shift = false;
            }
            string_iter.next_done = true;
            goto LAB_000146fa;
          }
          string_iter.cur.bytes = var_7(string_iter.cur.ptr);
          string_iter.cur.wc_valid = false;
        }
      }
      else if (string_iter.cur.wc_valid != false) {
LAB_000146fa:
        if (string_iter.cur.wc == L'\0') {
mbsstr_trimmed_wordbounded_cold_1:
                    /* WARNING: Subroutine does not return */
          var_19();
        }
      }
      string_iter.cur.ptr = string_iter.cur.ptr + string_iter.cur.bytes;
      tsub_iter.cur.ptr = tsub_iter.cur.ptr + tsub_iter.cur.bytes;
    } while( true );
  }
LAB_00014402:
  var_24 = false;
LAB_00014407:
  var_20(needle);
  if (var_21 == *(int *)(var_1 + 0x14)) {
    return var_24;
  }
                    /* WARNING: Subroutine does not return */
  var_22();
LAB_000147c3:
  tsub_iter.next_done = true;
  if (string_iter.next_done == false) {
    if (string_iter.in_shift == false) {
      if ((*(type_8 *)(var_11 + (type_8)((type_3)*string_iter.cur.ptr >> 5) * 4) >>
           (*string_iter.cur.ptr & 0x1fU) & 1) != 0) {
        string_iter.cur.bytes = 1;
        var_14 = (type_5)*string_iter.cur.ptr;
        string_iter.cur.wc_valid = true;
        string_iter.next_done = true;
        string_iter.cur.wc = var_14;
        goto LAB_00014819;
      }
      var_13 = var_12((type_2 *)__ps);
      if (var_13 == 0) goto LAB_00014bd8;
      string_iter.in_shift = true;
    }
    var_6 = var_5();
    pcVar3 = string_iter.cur.ptr;
    sVar7 = var_15(string_iter.cur.ptr,var_6);
    string_iter.cur.bytes = var_16(&string_iter.cur.wc,pcVar3,sVar7,__ps);
    var_14 = string_iter.cur.wc;
    if (string_iter.cur.bytes == 0xffffffff) {
      string_iter.cur.bytes = 1;
      string_iter.cur.wc_valid = false;
      string_iter.next_done = true;
      goto LAB_0001481d;
    }
    if (string_iter.cur.bytes == 0xfffffffe) {
      string_iter.cur.bytes = var_7(string_iter.cur.ptr);
      string_iter.cur.wc_valid = false;
      string_iter.next_done = true;
      var_14 = string_iter.cur.wc;
      goto LAB_0001481d;
    }
    if (string_iter.cur.bytes != 0) {
LAB_00014a6b:
      string_iter.cur.wc_valid = true;
      var_13 = var_12((type_2 *)__ps);
      if (var_13 != 0) {
        string_iter.in_shift = false;
      }
      string_iter.next_done = true;
      goto LAB_00014819;
    }
    string_iter.cur.bytes = 1;
    if (*string_iter.cur.ptr != '\0') goto LAB_00014bf7;
    if (string_iter.cur.wc == L'\0') goto LAB_00014a6b;
LAB_00014b87:
    string_iter.cur.bytes = 1;
    var_23(in_stack_ffffff44);
LAB_00014b90:
    string_iter.cur.bytes = var_7(string_iter.cur.ptr);
  }
  else {
    if (string_iter.cur.wc_valid == false) {
LAB_0001481d:
      if ((string_iter.cur.wc_valid == false) || (var_13 = var_17(var_14), var_13 == 0))
      goto LAB_00014834;
    }
    else {
LAB_00014819:
      if (var_14 != L'\0') goto LAB_0001481d;
LAB_00014834:
      if (var_24 != false) goto LAB_00014407;
    }
    string_iter.state.__value.__wch = 0;
    string_iter.in_shift = false;
    string_iter.state.__count = 0;
    string_iter.next_done = false;
    if ((*(type_8 *)(var_11 + (type_8)(*var_4 >> 5) * 4) >> (*var_4 & 0x1f) & 1) == 0) {
      string_iter.cur.ptr = (char *)var_4;
      var_13 = var_12((type_2 *)__ps);
      if (var_13 == 0) {
LAB_00014bd8:
                    /* WARNING: Subroutine does not return */
        var_18("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");
      }
      string_iter.in_shift = true;
      var_6 = var_5();
      pcVar3 = string_iter.cur.ptr;
      sVar7 = var_15(string_iter.cur.ptr,var_6);
      string_iter.cur.bytes = var_16(&string_iter.cur.wc,pcVar3,sVar7,__ps);
      if (string_iter.cur.bytes == 0xffffffff) {
        string_iter.cur.bytes = 1;
        goto LAB_0001489d;
      }
      if (string_iter.cur.bytes == 0xfffffffe) goto LAB_00014b90;
      if (string_iter.cur.bytes == 0) {
        string_iter.cur.bytes = 1;
        if (*string_iter.cur.ptr != '\0') {
LAB_00014bf7:
                    /* WARNING: Subroutine does not return */
          var_18("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");
        }
        if (string_iter.cur.wc != L'\0') goto LAB_00014b87;
      }
      string_iter.cur.wc_valid = true;
      var_13 = var_12((type_2 *)__ps);
      if (var_13 != 0) {
        string_iter.in_shift = false;
      }
    }
    else {
      string_iter.cur.bytes = 1;
      string_iter.cur.wc = (type_5)(char)*var_4;
      string_iter.cur.wc_valid = true;
      string_iter.cur.ptr = (char *)var_4;
    }
    string_iter.next_done = true;
    if (string_iter.cur.wc == L'\0') goto LAB_00014402;
  }
LAB_0001489d:
  var_8 = (char *)(var_4 + string_iter.cur.bytes);
  goto LAB_00014380;
}


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

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

bool __regparm3 MASKED(byte *param_1,undefined4 param_2)

{
  byte bVar1;
  bool bVar2;
  byte *pbVar3;
  byte *__s;
  byte *pbVar4;
  size_t sVar5;
  ushort **ppuVar6;
  undefined4 uVar7;
  int iVar8;
  wint_t wVar9;
  int in_GS_OFFSET;
  bool local_a1;
  mbstate_t local_8c;
  char local_84;
  byte *local_80;
  size_t local_7c;
  char local_78;
  wint_t local_74 [7];
  char local_58;
  mbstate_t local_54;
  undefined1 local_4c;
  byte *local_48;
  size_t local_44;
  undefined1 local_40;
  int local_3c [7];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1434b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  __s = (byte *)FUN_00015010(param_2,2);
LAB_00014380:
  if (*param_1 != 0) {
    while( true ) {
      pbVar4 = (byte *)FUN_00017cf0(param_1,__s);
      if (pbVar4 == (byte *)0x0) goto LAB_00014402;
      sVar5 = __ctype_get_mb_cur_max();
      if (1 < sVar5) break;
      sVar5 = strlen((char *)__s);
      if (((pbVar4 <= param_1) || (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[pbVar4[-1]] & 8) == 0)) &&
         ((bVar1 = pbVar4[sVar5], bVar1 == 0 ||
          (ppuVar6 = __ctype_b_loc(), ((*ppuVar6)[bVar1] & 8) == 0)))) {
        local_a1 = true;
        goto LAB_00014407;
      }
      if ((*pbVar4 == 0) || (param_1 = pbVar4 + 1, *param_1 == 0)) goto LAB_00014402;
    }
    bVar2 = false;
    local_8c.__count = 0;
    local_8c.__value.__wch = 0;
    local_80 = param_1;
    if (param_1 < pbVar4) {
      do {
        local_84 = '\0';
        if (bVar2) {
LAB_000144df:
          sVar5 = __ctype_get_mb_cur_max();
          pbVar3 = local_80;
          uVar7 = FUN_00014fa0(local_80,sVar5);
          local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);
          wVar9 = local_74[0];
          if (local_7c == 0xffffffff) {
            local_7c = 1;
            local_78 = '\0';
          }
          else {
            if (local_7c != 0xfffffffe) {
              if (local_7c == 0) {
                local_7c = 1;
                if (*local_80 != 0) goto LAB_00014bf7;
                if (local_74[0] != 0) goto LAB_00014c16;
              }
              local_78 = '\x01';
              iVar8 = mbsinit(&local_8c);
              if (iVar8 != 0) {
                bVar2 = false;
              }
              goto LAB_000144b2;
            }
            local_7c = strlen((char *)local_80);
            local_78 = '\0';
            wVar9 = local_74[0];
          }
        }
        else {
          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0
             ) {
            iVar8 = mbsinit(&local_8c);
            if (iVar8 != 0) {
              bVar2 = true;
              goto LAB_000144df;
            }
            goto LAB_00014bd8;
          }
          local_7c = 1;
          wVar9 = (wint_t)(char)*local_80;
          local_78 = '\x01';
          local_74[0] = wVar9;
LAB_000144b2:
          local_84 = '\x01';
          if (wVar9 == 0) goto FUN_00012500;
        }
        local_80 = local_80 + local_7c;
        local_84 = 0;
      } while (local_80 < pbVar4);
      if (local_78 != '\0') {
        iVar8 = iswalnum(wVar9);
        local_a1 = iVar8 == 0;
        goto LAB_00014603;
      }
    }
    local_a1 = true;
LAB_00014603:
    local_8c.__value.__wch = 0;
    bVar2 = false;
    local_8c.__count = 0;
    local_58 = '\0';
    local_54.__count = 0;
    local_54.__value.__wch = 0;
    local_80 = pbVar4;
    local_48 = __s;
    do {
      local_4c = 0;
      local_84 = '\0';
      if (local_58 == '\0') {
        if ((*(uint *)(&DAT_0001b360 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) == 0)
        {
          iVar8 = mbsinit(&local_54);
          if (iVar8 != 0) {
            local_58 = '\x01';
            goto LAB_0001472b;
          }
          goto LAB_00014bd8;
        }
        local_44 = 1;
        local_3c[0] = (int)(char)*local_48;
        local_40 = 1;
        wVar9 = local_74[0];
joined_r0x000146a5:
        local_74[0] = wVar9;
        if (local_3c[0] == 0) goto LAB_000147c3;
      }
      else {
LAB_0001472b:
        sVar5 = __ctype_get_mb_cur_max();
        pbVar3 = local_48;
        uVar7 = FUN_00014fa0(local_48,sVar5);
        local_44 = FUN_00016e10(local_3c,pbVar3,uVar7,&local_54);
        if (local_44 == 0xffffffff) {
          local_44 = 1;
          local_40 = 0;
        }
        else {
          if (local_44 != 0xfffffffe) {
            if (local_44 == 0) {
              local_44 = 1;
              if (*local_48 != 0) goto LAB_00014bf7;
              if (local_3c[0] != 0) {
LAB_00014c16:
                    /* WARNING: Subroutine does not return */
                __assert_fail("iter->cur.wc == 0","mbuiter.h",0xb3,"mbuiter_multi_next");
              }
            }
            local_40 = 1;
            iVar8 = mbsinit(&local_54);
            wVar9 = local_74[0];
            if (iVar8 != 0) {
              local_58 = '\0';
            }
            goto joined_r0x000146a5;
          }
          local_44 = strlen((char *)local_48);
          local_40 = 0;
        }
      }
      local_4c = 1;
      if (local_84 == '\0') {
        if (!bVar2) {
          if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0
             ) {
            local_7c = 1;
            local_74[0] = (wint_t)(char)*local_80;
            local_78 = '\x01';
            local_84 = '\x01';
            goto LAB_000146fa;
          }
          iVar8 = mbsinit(&local_8c);
          if (iVar8 == 0) goto LAB_00014bd8;
          bVar2 = true;
        }
        sVar5 = __ctype_get_mb_cur_max();
        pbVar3 = local_80;
        uVar7 = FUN_00014fa0(local_80,sVar5);
        local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);
        if (local_7c == 0xffffffff) {
          local_7c = 1;
          local_78 = '\0';
        }
        else {
          if (local_7c != 0xfffffffe) {
            if (local_7c == 0) {
              local_7c = 1;
              if (*local_80 != 0) goto LAB_00014bf7;
              if (local_74[0] != 0) goto LAB_00014c16;
            }
            local_78 = '\x01';
            iVar8 = mbsinit(&local_8c);
            if (iVar8 != 0) {
              bVar2 = false;
            }
            local_84 = '\x01';
            goto LAB_000146fa;
          }
          local_7c = strlen((char *)local_80);
          local_78 = '\0';
        }
      }
      else if (local_78 != '\0') {
LAB_000146fa:
        if (local_74[0] == 0) {
FUN_00012500:
                    /* WARNING: Subroutine does not return */
          abort();
        }
      }
      local_80 = local_80 + local_7c;
      local_48 = local_48 + local_44;
    } while( true );
  }
LAB_00014402:
  local_a1 = false;
LAB_00014407:
  free(__s);
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_00019640();
  }
  return local_a1;
LAB_000147c3:
  local_4c = 1;
  if (local_84 == '\0') {
    if (!bVar2) {
      if ((*(uint *)(&DAT_0001b360 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) != 0) {
        local_7c = 1;
        wVar9 = (wint_t)(char)*local_80;
        local_78 = '\x01';
        local_84 = '\x01';
        local_74[0] = wVar9;
        goto LAB_00014819;
      }
      iVar8 = mbsinit(&local_8c);
      if (iVar8 == 0) goto LAB_00014bd8;
    }
    sVar5 = __ctype_get_mb_cur_max();
    pbVar3 = local_80;
    uVar7 = FUN_00014fa0(local_80,sVar5);
    local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);
    wVar9 = local_74[0];
    if (local_7c == 0xffffffff) {
      local_7c = 1;
      local_78 = '\0';
      local_84 = '\x01';
      goto LAB_0001481d;
    }
    if (local_7c == 0xfffffffe) {
      local_7c = strlen((char *)local_80);
      local_78 = '\0';
      local_84 = '\x01';
      wVar9 = local_74[0];
      goto LAB_0001481d;
    }
    if (local_7c != 0) {
LAB_00014a6b:
      local_78 = '\x01';
      mbsinit(&local_8c);
      local_84 = '\x01';
      goto LAB_00014819;
    }
    local_7c = 1;
    if (*local_80 != 0) goto LAB_00014bf7;
    if (local_74[0] == 0) goto LAB_00014a6b;
LAB_00014b87:
    local_7c = 1;
    FUN_00014310();
LAB_00014b90:
    local_7c = strlen((char *)local_80);
  }
  else {
    if (local_78 == '\0') {
LAB_0001481d:
      if ((local_78 == '\0') || (iVar8 = iswalnum(wVar9), iVar8 == 0)) goto LAB_00014834;
    }
    else {
LAB_00014819:
      if (wVar9 != 0) goto LAB_0001481d;
LAB_00014834:
      if (local_a1 != false) goto LAB_00014407;
    }
    local_8c.__value.__wch = 0;
    local_8c.__count = 0;
    local_84 = '\0';
    if ((*(uint *)(&DAT_0001b360 + (uint)(*pbVar4 >> 5) * 4) >> (*pbVar4 & 0x1f) & 1) == 0) {
      local_80 = pbVar4;
      iVar8 = mbsinit(&local_8c);
      if (iVar8 == 0) {
LAB_00014bd8:
                    /* WARNING: Subroutine does not return */
        __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");
      }
      sVar5 = __ctype_get_mb_cur_max();
      pbVar3 = local_80;
      uVar7 = FUN_00014fa0(local_80,sVar5);
      local_7c = FUN_00016e10(local_74,pbVar3,uVar7,&local_8c);
      if (local_7c == 0xffffffff) {
        local_7c = 1;
        goto LAB_0001489d;
      }
      if (local_7c == 0xfffffffe) goto LAB_00014b90;
      if (local_7c == 0) {
        local_7c = 1;
        if (*local_80 != 0) {
LAB_00014bf7:
                    /* WARNING: Subroutine does not return */
          __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");
        }
        if (local_74[0] != 0) goto LAB_00014b87;
      }
      local_78 = '\x01';
      mbsinit(&local_8c);
    }
    else {
      local_7c = 1;
      local_74[0] = (wint_t)(char)*pbVar4;
      local_78 = '\x01';
      local_80 = pbVar4;
    }
    local_84 = '\x01';
    if (local_74[0] == 0) goto LAB_00014402;
  }
LAB_0001489d:
  param_1 = pbVar4 + local_7c;
  goto LAB_00014380;
}

