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

int mbscasecmp(char *s1,char *s2)

{
  int iVar1;
  ushort *puVar2;
  char *pcVar3;
  size_t sVar4;
  wint_t wVar5;
  wint_t wVar6;
  size_t sVar7;
  int iVar8;
  ushort **ppuVar9;
  __int32_t **pp_Var10;
  byte bVar11;
  uint uVar12;
  wchar_t wVar13;
  uint uVar14;
  int in_GS_OFFSET;
  mbuiter_multi *in_stack_ffffff54;
  mbui_iterator_t iter1;
  mbui_iterator_t iter2;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  if (s1 == s2) {
    wVar13 = L'\0';
  }
  else {
    sVar4 = __ctype_get_mb_cur_max();
    if (1 < sVar4) {
      iter2.cur.ptr = s2;
      iter1.cur.ptr = s1;
      iter1.in_shift = false;
      iter1.state.__count = 0;
      iter1.state.__value.__wch = 0;
      iter2.in_shift = false;
      iter2.state.__count = 0;
      iter2.state.__value.__wch = 0;
LAB_000201f2:
      iter2.next_done = false;
      iter1.next_done = false;
      if (iter1.in_shift != false) {
LAB_00020201:
        sVar4 = __ctype_get_mb_cur_max();
        pcVar3 = iter1.cur.ptr;
        sVar7 = strnlen1(iter1.cur.ptr,sVar4);
        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);
        if (iter1.cur.bytes != 0xffffffff) {
          if (iter1.cur.bytes == 0xfffffffe) {
            iter1.cur.bytes = strlen(iter1.cur.ptr);
            iter1.cur.wc_valid = false;
            goto LAB_00020149;
          }
          if (iter1.cur.bytes != 0) {
LAB_00020262:
            iter1.cur.wc_valid = true;
            iVar8 = mbsinit((mbstate_t *)&iter1.state);
            if (iVar8 != 0) {
              iter1.in_shift = false;
            }
            goto LAB_0002013d;
          }
          iter1.cur.bytes = 1;
          if (*iter1.cur.ptr != '\0') goto LAB_00020740;
          if (iter1.cur.wc == L'\0') goto LAB_00020262;
LAB_0002075f:
          mbuiter_multi_next(in_stack_ffffff54);
          goto LAB_00020764;
        }
        iter1.cur.bytes = 1;
        iter1.cur.wc_valid = false;
LAB_00020149:
        iter1.next_done = true;
        if (iter2.next_done == false) {
          if (iter2.in_shift == false) {
            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>
                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {
              iter2.cur.bytes = 1;
              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;
              iter2.cur.wc_valid = true;
              iter2.next_done = true;
              goto LAB_0002019c;
            }
            iVar8 = mbsinit((mbstate_t *)&iter2.state);
            if (iVar8 == 0) goto LAB_00020721;
            iter2.in_shift = true;
          }
          sVar4 = __ctype_get_mb_cur_max();
          pcVar3 = iter2.cur.ptr;
          sVar7 = strnlen1(iter2.cur.ptr,sVar4);
          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);
          if (iter2.cur.bytes == 0xffffffff) {
            iter2.cur.bytes = 1;
            iter2.cur.wc_valid = false;
            iter2.next_done = true;
          }
          else {
            if (iter2.cur.bytes != 0xfffffffe) {
              if (iter2.cur.bytes == 0) {
                iter2.cur.bytes = 1;
                if (*iter2.cur.ptr != '\0') goto LAB_00020740;
                if (iter2.cur.wc != L'\0') goto LAB_0002075f;
              }
              iter2.cur.wc_valid = true;
              iVar8 = mbsinit((mbstate_t *)&iter2.state);
              if (iVar8 != 0) {
                iter2.in_shift = false;
              }
              iter2.next_done = true;
              goto LAB_0002019c;
            }
            iter2.cur.bytes = strlen(iter2.cur.ptr);
            iter2.cur.wc_valid = false;
            iter2.next_done = true;
          }
LAB_000203d3:
          if (iter1.cur.wc_valid != false) goto LAB_00020640;
          if (iter1.cur.bytes != iter2.cur.bytes) {
            if (iter1.cur.bytes < iter2.cur.bytes) {
              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);
              if (0 < iVar8) {
LAB_000204e8:
                wVar13 = L'\x01';
                goto LAB_000202ff;
              }
            }
            else {
              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);
              if (-1 < iVar8) goto LAB_000204e8;
            }
            goto LAB_00020640;
          }
          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);
        }
        else {
          if (iter2.cur.wc_valid == false) goto LAB_000203d3;
LAB_0002019c:
          wVar13 = iter2.cur.wc;
          if (iter2.cur.wc == L'\0') {
            if (iter1.next_done == false) {
              if (iter1.in_shift == false) {
                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>
                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {
                  iter1.cur.bytes = 1;
                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;
                  iter1.cur.wc_valid = true;
                  iter1.next_done = true;
                  goto LAB_000205d5;
                }
                iVar8 = mbsinit((mbstate_t *)&iter1.state);
                if (iVar8 == 0) goto LAB_00020721;
                iter1.in_shift = true;
              }
              sVar4 = __ctype_get_mb_cur_max();
              pcVar3 = iter1.cur.ptr;
              sVar7 = strnlen1(iter1.cur.ptr,sVar4);
              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);
              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {
                if (iter1.cur.bytes == 0) {
                  iter1.cur.bytes = 1;
                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;
                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;
                }
                iter1.cur.wc_valid = true;
                iVar8 = mbsinit((mbstate_t *)&iter1.state);
                if (iVar8 != 0) {
                  iter1.in_shift = false;
                }
                iter1.next_done = true;
                goto LAB_000205d5;
              }
            }
            else if (iter1.cur.wc_valid != false) {
LAB_000205d5:
              if (iter1.cur.wc == L'\0') goto LAB_000205e1;
            }
            goto LAB_000204e8;
          }
          if (iter1.cur.wc_valid == false) goto LAB_000204e8;
          wVar5 = towlower(iter1.cur.wc);
          wVar6 = towlower(wVar13);
          wVar13 = wVar5 - wVar6;
        }
        if (wVar13 != L'\0') goto LAB_000202ff;
        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;
        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;
        goto LAB_000201f2;
      }
      if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>
           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {
        iVar8 = mbsinit((mbstate_t *)&iter1.state);
        if (iVar8 == 0) goto LAB_00020721;
        iter1.in_shift = true;
        goto LAB_00020201;
      }
      iter1.cur.bytes = 1;
      iter1.cur.wc = (wchar_t)*iter1.cur.ptr;
      iter1.cur.wc_valid = true;
LAB_0002013d:
      iter1.next_done = true;
      if (iter1.cur.wc != L'\0') goto LAB_00020149;
LAB_000205e1:
      if (iter2.next_done == false) {
        if (iter2.in_shift == false) {
          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>
               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {
            iter2.cur.bytes = 1;
            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;
            iter2.cur.wc_valid = true;
            goto LAB_00020631;
          }
          iVar8 = mbsinit((mbstate_t *)&iter2.state);
          if (iVar8 == 0) {
LAB_00020721:
                    /* WARNING: Subroutine does not return */
            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");
          }
          iter2.in_shift = true;
        }
        sVar4 = __ctype_get_mb_cur_max();
        pcVar3 = iter2.cur.ptr;
        sVar7 = strnlen1(iter2.cur.ptr,sVar4);
        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);
        if (1 < iter2.cur.bytes + 2) {
          if (iter2.cur.bytes == 0) {
            iter2.cur.bytes = 1;
            if (*iter2.cur.ptr != '\0') {
LAB_00020740:
                    /* WARNING: Subroutine does not return */
              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");
            }
            if (iter2.cur.wc != L'\0') goto LAB_0002075f;
          }
          iter2.cur.wc_valid = true;
LAB_00020631:
          wVar13 = iter2.cur.wc;
          if (iter2.cur.wc != L'\0') goto LAB_00020640;
          goto LAB_000202ff;
        }
      }
      else if (iter2.cur.wc_valid != false) goto LAB_00020631;
LAB_00020640:
      wVar13 = L'\xffffffff';
      goto LAB_000202ff;
    }
    ppuVar9 = __ctype_b_loc();
    puVar2 = *ppuVar9;
    do {
      bVar11 = *s1;
      if ((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0) {
        pp_Var10 = __ctype_tolower_loc();
        bVar11 = *(byte *)(*pp_Var10 + bVar11);
      }
      uVar12 = (uint)(byte)*s2;
      if ((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0) {
        pp_Var10 = __ctype_tolower_loc();
        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);
      }
      if (bVar11 == 0) {
        uVar14 = 0;
        goto LAB_000202fb;
      }
      s1 = (char *)((byte *)s1 + 1);
      s2 = (char *)((byte *)s2 + 1);
    } while (bVar11 == (byte)uVar12);
    uVar14 = (uint)bVar11;
LAB_000202fb:
    wVar13 = uVar14 - uVar12;
  }
LAB_000202ff:
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return wVar13;
  }
LAB_00020764:
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



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

wint_t FUN_00020070(byte *param_1,byte *param_2)

{
  ushort *puVar1;
  bool bVar2;
  byte *pbVar3;
  size_t sVar4;
  wint_t wVar5;
  wint_t wVar6;
  undefined4 uVar7;
  int iVar8;
  ushort **ppuVar9;
  __int32_t **pp_Var10;
  byte bVar11;
  uint uVar12;
  uint uVar13;
  int in_GS_OFFSET;
  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;
  char local_4c;
  byte *local_48;
  uint local_44;
  char local_40;
  wint_t local_3c [7];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x20079;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == param_2) {
    wVar5 = 0;
  }
  else {
    sVar4 = __ctype_get_mb_cur_max();
    if (1 < sVar4) {
      local_48 = param_2;
      local_80 = param_1;
      bVar2 = false;
      local_8c.__count = 0;
      local_8c.__value.__wch = 0;
      local_58 = '\0';
      local_54.__count = 0;
      local_54.__value.__wch = 0;
LAB_000201f2:
      local_4c = '\0';
      local_84 = '\0';
      if (!bVar2) {
        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)
        {
          iVar8 = mbsinit(&local_8c);
          if (iVar8 == 0) goto LAB_00020721;
          bVar2 = true;
          goto LAB_00020201;
        }
        local_7c = 1;
        local_74[0] = (wint_t)(char)*local_80;
        local_78 = '\x01';
LAB_0002013d:
        local_84 = '\x01';
        if (local_74[0] != 0) goto LAB_00020149;
LAB_000205e1:
        if (local_4c == '\0') {
          if (local_58 == '\0') {
            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=
                0) {
              local_44 = 1;
              local_3c[0] = (wint_t)(char)*local_48;
              local_40 = '\x01';
              goto LAB_00020631;
            }
            iVar8 = mbsinit(&local_54);
            if (iVar8 == 0) {
LAB_00020721:
                    /* WARNING: Subroutine does not return */
              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");
            }
            local_58 = '\x01';
          }
          sVar4 = __ctype_get_mb_cur_max();
          pbVar3 = local_48;
          uVar7 = FUN_00023020(local_48,sVar4);
          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);
          if (local_44 + 2 < 2) goto LAB_00020640;
          if (local_44 == 0) {
            local_44 = 1;
            if (*local_48 != 0) {
LAB_00020740:
                    /* WARNING: Subroutine does not return */
              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");
            }
            if (local_3c[0] != 0) goto LAB_0002075f;
          }
          local_40 = '\x01';
LAB_00020631:
          wVar5 = local_3c[0];
          if (local_3c[0] == 0) goto LAB_000202ff;
        }
        else if (local_40 != '\0') goto LAB_00020631;
LAB_00020640:
        wVar5 = 0xffffffff;
        goto LAB_000202ff;
      }
LAB_00020201:
      sVar4 = __ctype_get_mb_cur_max();
      pbVar3 = local_80;
      uVar7 = FUN_00023020(local_80,sVar4);
      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);
      if (local_7c != 0xffffffff) {
        if (local_7c == 0xfffffffe) {
          local_7c = strlen((char *)local_80);
          local_78 = '\0';
          goto LAB_00020149;
        }
        if (local_7c != 0) {
LAB_00020262:
          local_78 = '\x01';
          iVar8 = mbsinit(&local_8c);
          if (iVar8 != 0) {
            bVar2 = false;
          }
          goto LAB_0002013d;
        }
        local_7c = 1;
        if (*local_80 != 0) goto LAB_00020740;
        if (local_74[0] == 0) goto LAB_00020262;
LAB_0002075f:
        FUN_00020040();
        goto LAB_00020764;
      }
      local_7c = 1;
      local_78 = '\0';
LAB_00020149:
      local_84 = '\x01';
      if (local_4c == '\0') {
        if (local_58 == '\0') {
          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0
             ) {
            local_44 = 1;
            local_3c[0] = (wint_t)(char)*local_48;
            local_40 = '\x01';
            local_4c = '\x01';
            goto LAB_0002019c;
          }
          iVar8 = mbsinit(&local_54);
          if (iVar8 == 0) goto LAB_00020721;
          local_58 = '\x01';
        }
        sVar4 = __ctype_get_mb_cur_max();
        pbVar3 = local_48;
        uVar7 = FUN_00023020(local_48,sVar4);
        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);
        if (local_44 == 0xffffffff) {
          local_44 = 1;
          local_40 = '\0';
          local_4c = '\x01';
        }
        else {
          if (local_44 != 0xfffffffe) {
            if (local_44 == 0) {
              local_44 = 1;
              if (*local_48 != 0) goto LAB_00020740;
              if (local_3c[0] != 0) goto LAB_0002075f;
            }
            local_40 = '\x01';
            iVar8 = mbsinit(&local_54);
            if (iVar8 != 0) {
              local_58 = '\0';
            }
            local_4c = '\x01';
            goto LAB_0002019c;
          }
          local_44 = strlen((char *)local_48);
          local_40 = '\0';
          local_4c = '\x01';
        }
LAB_000203d3:
        if (local_78 != '\0') goto LAB_00020640;
        if (local_7c != local_44) {
          if (local_7c < local_44) {
            iVar8 = memcmp(local_80,local_48,local_7c);
            if (0 < iVar8) {
LAB_000204e8:
              wVar5 = 1;
              goto LAB_000202ff;
            }
          }
          else {
            iVar8 = memcmp(local_80,local_48,local_44);
            if (-1 < iVar8) goto LAB_000204e8;
          }
          goto LAB_00020640;
        }
        wVar5 = memcmp(local_80,local_48,local_7c);
      }
      else {
        if (local_40 == '\0') goto LAB_000203d3;
LAB_0002019c:
        wVar6 = local_3c[0];
        if (local_3c[0] == 0) {
          if (local_84 == '\0') {
            if (!bVar2) {
              if ((*(uint *)(&DAT_0003ed60 + (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_000205d5;
              }
              iVar8 = mbsinit(&local_8c);
              if (iVar8 == 0) goto LAB_00020721;
            }
            sVar4 = __ctype_get_mb_cur_max();
            pbVar3 = local_80;
            uVar7 = FUN_00023020(local_80,sVar4);
            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);
            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {
              if (local_7c == 0) {
                local_7c = 1;
                if (*local_80 != 0) goto LAB_00020740;
                if (local_74[0] != 0) goto LAB_0002075f;
              }
              local_78 = '\x01';
              mbsinit(&local_8c);
              local_84 = '\x01';
              goto LAB_000205d5;
            }
          }
          else if (local_78 != '\0') {
LAB_000205d5:
            if (local_74[0] == 0) goto LAB_000205e1;
          }
          goto LAB_000204e8;
        }
        if (local_78 == '\0') goto LAB_000204e8;
        wVar5 = towlower(local_74[0]);
        wVar6 = towlower(wVar6);
        wVar5 = wVar5 - wVar6;
      }
      if (wVar5 != 0) goto LAB_000202ff;
      local_80 = local_80 + local_7c;
      local_48 = local_48 + local_44;
      goto LAB_000201f2;
    }
    ppuVar9 = __ctype_b_loc();
    puVar1 = *ppuVar9;
    do {
      bVar11 = *param_1;
      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {
        pp_Var10 = __ctype_tolower_loc();
        bVar11 = *(byte *)(*pp_Var10 + bVar11);
      }
      uVar12 = (uint)*param_2;
      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {
        pp_Var10 = __ctype_tolower_loc();
        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);
      }
      if (bVar11 == 0) {
        uVar13 = 0;
        goto LAB_000202fb;
      }
      param_1 = param_1 + 1;
      param_2 = param_2 + 1;
    } while (bVar11 == (byte)uVar12);
    uVar13 = (uint)bVar11;
LAB_000202fb:
    wVar5 = uVar13 - uVar12;
  }
LAB_000202ff:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return wVar5;
  }
LAB_00020764:
                    /* WARNING: Subroutine does not return */
  FUN_0003b430();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013b20
ADD EBX,0x2cf87
SUB ESP,0x9c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x8c],EAX
XOR EAX,EAX
MOV ESI,dword ptr [ESP + 0xb0]
MOV EDI,dword ptr [ESP + 0xb4]
CMP ESI,EDI
JZ 0x000204c0
CALL 0x00012290
CMP EAX,0x1
JBE 0x00020290
MOV dword ptr [ESP + 0x64],EDI
LEA EDI,[EBX + 0xffff1d60]
MOV dword ptr [ESP + 0x2c],ESI
MOV byte ptr [ESP + 0x1c],0x0
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x24],0x0
MOV byte ptr [ESP + 0x28],0x0
MOV byte ptr [ESP + 0x54],0x0
MOV dword ptr [ESP + 0x58],0x0
MOV dword ptr [ESP + 0x5c],0x0
MOV byte ptr [ESP + 0x60],0x0
MOV dword ptr [ESP + 0x8],EDI
JMP 0x000201f2
MOV EDX,dword ptr [ESP + 0x2c]
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 0x00020410
MOV dword ptr [ESP + 0x30],0x1
MOVSX EAX,byte ptr [EDX]
MOV byte ptr [ESP + 0x34],0x1
MOV dword ptr [ESP + 0x38],EAX
MOV byte ptr [ESP + 0x28],0x1
MOV EAX,dword ptr [ESP + 0x38]
TEST EAX,EAX
JZ 0x00020500
CMP byte ptr [ESP + 0x60],0x0
JNZ 0x000203c8
CMP byte ptr [ESP + 0x54],0x0
LEA ESI,[ESP + 0x58]
JNZ 0x0002033d
MOV EDX,dword ptr [ESP + 0x64]
MOV ESI,dword ptr [ESP + 0x8]
MOVZX ECX,byte ptr [EDX]
MOV EAX,ECX
SHR AL,0x5
MOVZX EAX,AL
MOV EAX,dword ptr [ESI + EAX*0x4]
SHR EAX,CL
TEST AL,0x1
JZ 0x00020320
MOV dword ptr [ESP + 0x68],0x1
MOVSX EAX,byte ptr [EDX]
MOV byte ptr [ESP + 0x6c],0x1
MOV dword ptr [ESP + 0x70],EAX
MOV byte ptr [ESP + 0x60],0x1
MOV EBP,dword ptr [ESP + 0x70]
TEST EBP,EBP
JZ 0x0002064a
CMP byte ptr [ESP + 0x34],0x0
JZ 0x000204e8
SUB ESP,0xc
PUSH dword ptr [ESP + 0x44]
CALL 0x00012180
MOV dword ptr [ESP],EBP
MOV ESI,EAX
CALL 0x00012180
ADD ESP,0x10
SUB ESI,EAX
MOV EAX,ESI
TEST EAX,EAX
JNZ 0x000202ff
MOV EAX,dword ptr [ESP + 0x30]
ADD dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [ESP + 0x68]
ADD dword ptr [ESP + 0x64],EAX
MOV byte ptr [ESP + 0x28],0x0
MOV byte ptr [ESP + 0x60],0x0
CMP byte ptr [ESP + 0x1c],0x0
LEA ESI,[ESP + 0x20]
JZ 0x00020108
CALL 0x00012290
MOV EBP,dword ptr [ESP + 0x2c]
SUB ESP,0x8
PUSH EAX
PUSH EBP
CALL 0x00023020
ADD ESP,0x10
PUSH ESI
PUSH EAX
PUSH EBP
LEA EAX,[ESP + 0x44]
PUSH EAX
CALL 0x00027600
MOV dword ptr [ESP + 0x40],EAX
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x00020438
CMP EAX,-0x2
JZ 0x00020470
TEST EAX,EAX
JNZ 0x00020262
MOV EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x30],0x1
CMP byte ptr [EAX],0x0
JNZ 0x00020740
MOV EAX,dword ptr [ESP + 0x38]
TEST EAX,EAX
JNZ 0x0002075f
MOV byte ptr [ESP + 0x34],0x1
SUB ESP,0xc
PUSH ESI
CALL 0x00012160
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0002027c
MOV byte ptr [ESP + 0x1c],0x0
MOV byte ptr [ESP + 0x28],0x1
JMP 0x0002013d
CALL 0x00012700
MOV ECX,dword ptr [EAX]
JMP 0x000202ae
ADD ESI,0x1
ADD EDI,0x1
CMP DL,AL
JNZ 0x000204f8
MOVZX EBP,byte ptr [ESI]
MOV EDX,EBP
TEST byte ptr [ECX + EBP*0x2 + 0x1],0x1
JZ 0x000202cd
MOV dword ptr [ESP + 0x8],ECX
CALL 0x000126e0
MOV ECX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
MOVZX EDX,byte ptr [EAX + EBP*0x4]
MOVZX EBP,byte ptr [EDI]
MOV EAX,EBP
TEST byte ptr [ECX + EBP*0x2 + 0x1],0x1
JZ 0x000202f5
MOV byte ptr [ESP + 0xf],DL
MOV dword ptr [ESP + 0x8],ECX
CALL 0x000126e0
MOVZX EDX,byte ptr [ESP + 0xf]
MOV ECX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
MOVZX EAX,byte ptr [EAX + EBP*0x4]
TEST DL,DL
JNZ 0x000202a0
XOR ESI,ESI
SUB ESI,EAX
MOV EAX,ESI
MOV EDI,dword ptr [ESP + 0x8c]
XOR EDI,dword ptr GS:[0x14]
JNZ 0x00020764
ADD ESP,0x9c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
LEA ESI,[ESP + 0x64]
PUSH ESI
CALL 0x00012160
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00020721
MOV byte ptr [ESP + 0x54],0x1
CALL 0x00012290
MOV EBP,dword ptr [ESP + 0x64]
SUB ESP,0x8
PUSH EAX
PUSH EBP
CALL 0x00023020
ADD ESP,0x10
PUSH ESI
PUSH EAX
PUSH EBP
LEA EAX,[ESP + 0x7c]
PUSH EAX
CALL 0x00027600
MOV dword ptr [ESP + 0x78],EAX
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x00020450
CMP EAX,-0x2
JZ 0x00020498
TEST EAX,EAX
JNZ 0x0002039e
MOV EAX,dword ptr [ESP + 0x64]
MOV dword ptr [ESP + 0x68],0x1
CMP byte ptr [EAX],0x0
JNZ 0x00020740
MOV EBP,dword ptr [ESP + 0x70]
TEST EBP,EBP
JNZ 0x0002075f
MOV byte ptr [ESP + 0x6c],0x1
SUB ESP,0xc
PUSH ESI
CALL 0x00012160
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000203b8
MOV byte ptr [ESP + 0x54],0x0
MOV byte ptr [ESP + 0x60],0x1
JMP 0x0002019c
CMP byte ptr [ESP + 0x6c],0x0
JNZ 0x0002019c
CMP byte ptr [ESP + 0x34],0x0
JNZ 0x00020640
MOV EAX,dword ptr [ESP + 0x30]
MOV EDX,dword ptr [ESP + 0x68]
MOV ECX,dword ptr [ESP + 0x2c]
MOV ESI,dword ptr [ESP + 0x64]
CMP EAX,EDX
JNZ 0x000204c7
SUB ESP,0x4
PUSH EAX
PUSH ESI
PUSH ECX
CALL 0x000121c0
ADD ESP,0x10
JMP 0x000201d0
SUB ESP,0xc
LEA ESI,[ESP + 0x2c]
PUSH ESI
CALL 0x00012160
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00020721
MOV byte ptr [ESP + 0x1c],0x1
JMP 0x00020201
MOV dword ptr [ESP + 0x30],0x1
MOV byte ptr [ESP + 0x34],0x0
MOV byte ptr [ESP + 0x28],0x1
JMP 0x00020149
MOV dword ptr [ESP + 0x68],0x1
MOV byte ptr [ESP + 0x6c],0x0
MOV byte ptr [ESP + 0x60],0x1
JMP 0x000203d3
SUB ESP,0xc
PUSH dword ptr [ESP + 0x38]
CALL 0x000123c0
ADD ESP,0x10
MOV dword ptr [ESP + 0x30],EAX
MOV byte ptr [ESP + 0x34],0x0
MOV byte ptr [ESP + 0x28],0x1
JMP 0x00020149
SUB ESP,0xc
PUSH dword ptr [ESP + 0x70]
CALL 0x000123c0
ADD ESP,0x10
MOV dword ptr [ESP + 0x68],EAX
MOV byte ptr [ESP + 0x6c],0x0
MOV byte ptr [ESP + 0x60],0x1
JMP 0x000203d3
XOR EAX,EAX
JMP 0x000202ff
JNC 0x00020683
SUB ESP,0x4
PUSH EAX
PUSH ESI
PUSH ECX
CALL 0x000121c0
ADD ESP,0x10
TEST EAX,EAX
JLE 0x00020640
LEA ESI,[ESI]
NOP
MOV EAX,0x1
JMP 0x000202ff
MOVZX ESI,DL
JMP 0x000202fb
CMP byte ptr [ESP + 0x28],0x0
JNZ 0x000205e1
CMP byte ptr [ESP + 0x1c],0x0
LEA ESI,[ESP + 0x20]
JNZ 0x00020555
MOV EDX,dword ptr [ESP + 0x2c]
LEA ESI,[EBX + 0xffff1d60]
MOVZX ECX,byte ptr [EDX]
MOV EAX,ECX
SHR AL,0x5
MOVZX EAX,AL
MOV EAX,dword ptr [ESI + EAX*0x4]
SHR EAX,CL
TEST AL,0x1
JNZ 0x00020665
SUB ESP,0xc
LEA ESI,[ESP + 0x2c]
PUSH ESI
CALL 0x00012160
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00020721
MOV byte ptr [ESP + 0x1c],0x1
CALL 0x00012290
MOV EDI,dword ptr [ESP + 0x2c]
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x00023020
ADD ESP,0x10
PUSH ESI
PUSH EAX
PUSH EDI
LEA EAX,[ESP + 0x44]
PUSH EAX
CALL 0x00027600
MOV dword ptr [ESP + 0x40],EAX
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x000204e8
CMP EAX,-0x2
JZ 0x000204e8
TEST EAX,EAX
JNZ 0x000205b6
MOV EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x30],0x1
CMP byte ptr [EAX],0x0
JNZ 0x00020740
MOV ECX,dword ptr [ESP + 0x38]
TEST ECX,ECX
JNZ 0x0002075f
MOV byte ptr [ESP + 0x34],0x1
SUB ESP,0xc
PUSH ESI
CALL 0x00012160
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000205d0
MOV byte ptr [ESP + 0x1c],0x0
MOV byte ptr [ESP + 0x28],0x1
MOV EDX,dword ptr [ESP + 0x38]
TEST EDX,EDX
JNZ 0x000204e8
CMP byte ptr [ESP + 0x60],0x0
JNZ 0x00020711
CMP byte ptr [ESP + 0x54],0x0
LEA ESI,[ESP + 0x58]
JNZ 0x000206b4
MOV EDX,dword ptr [ESP + 0x64]
LEA ESI,[EBX + 0xffff1d60]
MOVZX ECX,byte ptr [EDX]
MOV EAX,ECX
SHR AL,0x5
MOVZX EAX,AL
MOV EAX,dword ptr [ESI + EAX*0x4]
SHR EAX,CL
TEST AL,0x1
JZ 0x0002069b
MOV dword ptr [ESP + 0x68],0x1
MOVSX EAX,byte ptr [EDX]
MOV byte ptr [ESP + 0x6c],0x1
MOV dword ptr [ESP + 0x70],EAX
MOV EAX,dword ptr [ESP + 0x70]
TEST EAX,EAX
JZ 0x000202ff
LEA ESI,[ESI]
MOV EAX,0xffffffff
JMP 0x000202ff
CMP byte ptr [ESP + 0x28],0x0
JZ 0x0002050b
CMP byte ptr [ESP + 0x34],0x0
JNZ 0x000205d5
JMP 0x000204e8
MOV dword ptr [ESP + 0x30],0x1
MOVSX EAX,byte ptr [EDX]
MOV byte ptr [ESP + 0x34],0x1
MOV dword ptr [ESP + 0x38],EAX
MOV byte ptr [ESP + 0x28],0x1
JMP 0x000205d5
SUB ESP,0x4
PUSH EDX
PUSH ESI
PUSH ECX
CALL 0x000121c0
ADD ESP,0x10
TEST EAX,EAX
JNS 0x000204e8
JMP 0x00020640
SUB ESP,0xc
LEA ESI,[ESP + 0x64]
PUSH ESI
CALL 0x00012160
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00020721
MOV byte ptr [ESP + 0x54],0x1
CALL 0x00012290
MOV EDI,dword ptr [ESP + 0x64]
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x00023020
ADD ESP,0x10
PUSH ESI
PUSH EAX
PUSH EDI
LEA EAX,[ESP + 0x7c]
PUSH EAX
CALL 0x00027600
LEA EDX,[EAX + 0x2]
MOV dword ptr [ESP + 0x78],EAX
ADD ESP,0x10
CMP EDX,0x1
JBE 0x00020640
TEST EAX,EAX
JNZ 0x00020707
MOV EAX,dword ptr [ESP + 0x64]
MOV dword ptr [ESP + 0x68],0x1
CMP byte ptr [EAX],0x0
JNZ 0x00020740
MOV EAX,dword ptr [ESP + 0x70]
TEST EAX,EAX
JNZ 0x0002075f
MOV byte ptr [ESP + 0x6c],0x1
JMP 0x00020631
CMP byte ptr [ESP + 0x6c],0x0
JNZ 0x00020631
JMP 0x00020640
LEA EAX,[EBX + 0xffff1d80]
PUSH EAX
LEA EAX,[EBX + 0xffff19d5]
PUSH 0x96
PUSH EAX
LEA EAX,[EBX + 0xffff19df]
PUSH EAX
CALL 0x000126f0
LEA EAX,[EBX + 0xffff1d80]
PUSH EAX
LEA EAX,[EBX + 0xffff19d5]
PUSH 0xb2
PUSH EAX
LEA EAX,[EBX + 0xffff19f6]
PUSH EAX
CALL 0x000126f0
CALL 0x00020040
CALL 0x0003b430
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nwint_t FUN_00020070(byte *param_1,byte *param_2)\n\n{\n  ushort *puVar1;\n  bool bVar2;\n  byte *pbVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  undefined4 uVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  uint uVar13;\n  int in_GS_OFFSET;\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  char local_4c;\n  byte *local_48;\n  uint local_44;\n  char local_40;\n  wint_t local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x20079;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }\nLAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }\nLAB_00020764:\n                    /* WARNING: Subroutine does not return */\n  FUN_0003b430();\n}\n\n" comment (function_definition "wint_t FUN_00020070(byte *param_1,byte *param_2)\n\n{\n  ushort *puVar1;\n  bool bVar2;\n  byte *pbVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  undefined4 uVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  uint uVar13;\n  int in_GS_OFFSET;\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  char local_4c;\n  byte *local_48;\n  uint local_44;\n  char local_40;\n  wint_t local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x20079;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }\nLAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }\nLAB_00020764:\n                    /* WARNING: Subroutine does not return */\n  FUN_0003b430();\n}" type_identifier (function_declarator "FUN_00020070(byte *param_1,byte *param_2)" identifier (parameter_list "(byte *param_1,byte *param_2)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  ushort *puVar1;\n  bool bVar2;\n  byte *pbVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  undefined4 uVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  uint uVar13;\n  int in_GS_OFFSET;\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  char local_4c;\n  byte *local_48;\n  uint local_44;\n  char local_40;\n  wint_t local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x20079;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }\nLAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }\nLAB_00020764:\n                    /* WARNING: Subroutine does not return */\n  FUN_0003b430();\n}" { (declaration "ushort *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "wint_t wVar5;" type_identifier identifier ;) (declaration "wint_t wVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "ushort **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "__int32_t **pp_Var10;" type_identifier (pointer_declarator "**pp_Var10" * (pointer_declarator "*pp_Var10" * identifier)) ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" 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 "char local_4c;" primitive_type identifier ;) (declaration "byte *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "char local_40;" primitive_type identifier ;) (declaration "wint_t local_3c [7];" type_identifier (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 = 0x20079;" (assignment_expression "uStack_14 = 0x20079" 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) ))))) ;) (if_statement "if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }" if (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) (compound_statement "{\n    wVar5 = 0;\n  }" { (expression_statement "wVar5 = 0;" (assignment_expression "wVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }" else (compound_statement "{\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }" { (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (if_statement "if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }" if (parenthesized_expression "(1 < sVar4)" ( (binary_expression "1 < sVar4" number_literal < identifier) )) (compound_statement "{\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }" { (expression_statement "local_48 = param_2;" (assignment_expression "local_48 = param_2" identifier = identifier) ;) (expression_statement "local_80 = param_1;" (assignment_expression "local_80 = param_1" identifier = 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_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) ;) (labeled_statement "LAB_000201f2:\n      local_4c = '\0';" statement_identifier : (expression_statement "local_4c = '\0';" (assignment_expression "local_4c = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }" { (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }" if (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" ( (binary_expression "&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0003ed60" & 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) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\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) goto LAB_00020721;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020721;" goto statement_identifier ;)) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_00020201;" goto statement_identifier ;) })) (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 ')) ;) (labeled_statement "LAB_0002013d:\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 (local_74[0] != 0) goto LAB_00020149;" 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_00020149;" goto statement_identifier ;)) (labeled_statement "LAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;" statement_identifier : (if_statement "if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;" if (parenthesized_expression "(local_4c == '\0')" ( (binary_expression "local_4c == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }" { (if_statement "if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }" if (parenthesized_expression "(local_58 == '\0')" ( (binary_expression "local_58 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }" { (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }" if (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0)" ( (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" ( (binary_expression "&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4" (pointer_expression "&DAT_0003ed60" & 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              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (expression_statement "local_3c[0] = (wint_t)(char)*local_48;" (assignment_expression "local_3c[0] = (wint_t)(char)*local_48" (subscript_expression "local_3c[0]" identifier [ number_literal ]) = (binary_expression "(wint_t)(char)*local_48" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_00020631;" goto statement_identifier ;) })) (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) {\nLAB_00020721:\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_00020721:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }" { (labeled_statement "LAB_00020721:\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 "local_58 = '\x01';" (assignment_expression "local_58 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __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_00023020(local_48,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_48,sVar4)" identifier = (call_expression "FUN_00023020(local_48,sVar4)" identifier (argument_list "(local_48,sVar4)" ( identifier , identifier )))) ;) (expression_statement "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);" (assignment_expression "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54)" identifier = (call_expression "FUN_00027600(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 + 2 < 2) goto LAB_00020640;" if (parenthesized_expression "(local_44 + 2 < 2)" ( (binary_expression "local_44 + 2 < 2" (binary_expression "local_44 + 2" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_00020640;" goto statement_identifier ;)) (if_statement "if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\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) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (if_statement "if (*local_48 != 0) {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }" if (parenthesized_expression "(*local_48 != 0)" ( (binary_expression "*local_48 != 0" (pointer_expression "*local_48" * identifier) != number_literal) )) (compound_statement "{\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }" { (labeled_statement "LAB_00020740:\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_3c[0] != 0) goto LAB_0002075f;" 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_0002075f;" goto statement_identifier ;)) })) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_00020631:\n          wVar5 = local_3c[0];" statement_identifier : (expression_statement "wVar5 = local_3c[0];" (assignment_expression "wVar5 = local_3c[0]" identifier = (subscript_expression "local_3c[0]" identifier [ number_literal ])) ;)) (if_statement "if (local_3c[0] == 0) goto LAB_000202ff;" 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_000202ff;" goto statement_identifier ;)) }) (else_clause "else if (local_40 != '\0') goto LAB_00020631;" else (if_statement "if (local_40 != '\0') goto LAB_00020631;" if (parenthesized_expression "(local_40 != '\0')" ( (binary_expression "local_40 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00020631;" goto statement_identifier ;))))) (labeled_statement "LAB_00020640:\n        wVar5 = 0xffffffff;" statement_identifier : (expression_statement "wVar5 = 0xffffffff;" (assignment_expression "wVar5 = 0xffffffff" identifier = number_literal) ;)) (goto_statement "goto LAB_000202ff;" goto statement_identifier ;) })) (labeled_statement "LAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();" statement_identifier : (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __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_00023020(local_80,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_80,sVar4)" identifier = (call_expression "FUN_00023020(local_80,sVar4)" identifier (argument_list "(local_80,sVar4)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00027600(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        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }" if (parenthesized_expression "(local_7c != 0xffffffff)" ( (binary_expression "local_7c != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }" { (if_statement "if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\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          goto LAB_00020149;\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 ')) ;) (goto_statement "goto LAB_00020149;" goto statement_identifier ;) })) (if_statement "if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }" if (parenthesized_expression "(local_7c != 0)" ( (binary_expression "local_7c != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }" { (labeled_statement "LAB_00020262:\n          local_78 = '\x01';" 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_0002013d;" goto statement_identifier ;) })) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) goto LAB_00020740;" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (goto_statement "goto LAB_00020740;" goto statement_identifier ;)) (if_statement "if (local_74[0] == 0) goto LAB_00020262;" 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_00020262;" goto statement_identifier ;)) (labeled_statement "LAB_0002075f:\n        FUN_00020040();" statement_identifier : (expression_statement "FUN_00020040();" (call_expression "FUN_00020040()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_00020764;" goto statement_identifier ;) })) (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 ')) ;) (labeled_statement "LAB_00020149:\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 (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }" if (parenthesized_expression "(local_4c == '\0')" ( (binary_expression "local_4c == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }" { (if_statement "if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }" if (parenthesized_expression "(local_58 == '\0')" ( (binary_expression "local_58 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }" { (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }" if (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             )" ( (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" ( (binary_expression "&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4" (pointer_expression "&DAT_0003ed60" & 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            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (expression_statement "local_3c[0] = (wint_t)(char)*local_48;" (assignment_expression "local_3c[0] = (wint_t)(char)*local_48" (subscript_expression "local_3c[0]" identifier [ number_literal ]) = (binary_expression "(wint_t)(char)*local_48" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0002019c;" goto statement_identifier ;) })) (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) goto LAB_00020721;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020721;" goto statement_identifier ;)) (expression_statement "local_58 = '\x01';" (assignment_expression "local_58 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __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_00023020(local_48,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_48,sVar4)" identifier = (call_expression "FUN_00023020(local_48,sVar4)" identifier (argument_list "(local_48,sVar4)" ( identifier , identifier )))) ;) (expression_statement "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);" (assignment_expression "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54)" identifier = (call_expression "FUN_00027600(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          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\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          local_4c = '\x01';\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 = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }) (else_clause "else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\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_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }" { (if_statement "if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\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_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }" { (if_statement "if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\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_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (if_statement "if (*local_48 != 0) goto LAB_00020740;" if (parenthesized_expression "(*local_48 != 0)" ( (binary_expression "*local_48 != 0" (pointer_expression "*local_48" * identifier) != number_literal) )) (goto_statement "goto LAB_00020740;" goto statement_identifier ;)) (if_statement "if (local_3c[0] != 0) goto LAB_0002075f;" 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_0002075f;" goto statement_identifier ;)) })) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (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 = '\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 ')) ;) })) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0002019c;" 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 = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (labeled_statement "LAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;" statement_identifier : (if_statement "if (local_78 != '\0') goto LAB_00020640;" if (parenthesized_expression "(local_78 != '\0')" ( (binary_expression "local_78 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00020640;" goto statement_identifier ;))) (if_statement "if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }" if (parenthesized_expression "(local_7c != local_44)" ( (binary_expression "local_7c != local_44" identifier != identifier) )) (compound_statement "{\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }" { (if_statement "if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }" if (parenthesized_expression "(local_7c < local_44)" ( (binary_expression "local_7c < local_44" identifier < identifier) )) (compound_statement "{\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }" { (expression_statement "iVar8 = memcmp(local_80,local_48,local_7c);" (assignment_expression "iVar8 = memcmp(local_80,local_48,local_7c)" identifier = (call_expression "memcmp(local_80,local_48,local_7c)" identifier (argument_list "(local_80,local_48,local_7c)" ( identifier , identifier , identifier )))) ;) (if_statement "if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }" if (parenthesized_expression "(0 < iVar8)" ( (binary_expression "0 < iVar8" number_literal < identifier) )) (compound_statement "{\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }" { (labeled_statement "LAB_000204e8:\n              wVar5 = 1;" statement_identifier : (expression_statement "wVar5 = 1;" (assignment_expression "wVar5 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_000202ff;" goto statement_identifier ;) })) }) (else_clause "else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }" else (compound_statement "{\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }" { (expression_statement "iVar8 = memcmp(local_80,local_48,local_44);" (assignment_expression "iVar8 = memcmp(local_80,local_48,local_44)" identifier = (call_expression "memcmp(local_80,local_48,local_44)" identifier (argument_list "(local_80,local_48,local_44)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < iVar8) goto LAB_000204e8;" if (parenthesized_expression "(-1 < iVar8)" ( (binary_expression "-1 < iVar8" number_literal < identifier) )) (goto_statement "goto LAB_000204e8;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_00020640;" goto statement_identifier ;) })) (expression_statement "wVar5 = memcmp(local_80,local_48,local_7c);" (assignment_expression "wVar5 = memcmp(local_80,local_48,local_7c)" identifier = (call_expression "memcmp(local_80,local_48,local_7c)" identifier (argument_list "(local_80,local_48,local_7c)" ( identifier , identifier , identifier )))) ;) }) (else_clause "else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }" else (compound_statement "{\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }" { (if_statement "if (local_40 == '\0') goto LAB_000203d3;" if (parenthesized_expression "(local_40 == '\0')" ( (binary_expression "local_40 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000203d3;" goto statement_identifier ;)) (labeled_statement "LAB_0002019c:\n        wVar6 = local_3c[0];" statement_identifier : (expression_statement "wVar6 = local_3c[0];" (assignment_expression "wVar6 = local_3c[0]" identifier = (subscript_expression "local_3c[0]" identifier [ number_literal ])) ;)) (if_statement "if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\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 "{\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }" { (if_statement "if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\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_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }" { (if_statement "if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }" { (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }" if (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0)" ( (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" ( (binary_expression "&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0003ed60" & 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_000205d5;\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_000205d5;" 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_00020721;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020721;" goto statement_identifier ;)) })) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __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_00023020(local_80,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_80,sVar4)" identifier = (call_expression "FUN_00023020(local_80,sVar4)" identifier (argument_list "(local_80,sVar4)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00027600(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) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }" if (parenthesized_expression "((local_7c != 0xffffffff) && (local_7c != 0xfffffffe))" ( (binary_expression "(local_7c != 0xffffffff) && (local_7c != 0xfffffffe)" (parenthesized_expression "(local_7c != 0xffffffff)" ( (binary_expression "local_7c != 0xffffffff" identifier != number_literal) )) && (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_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }" { (if_statement "if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\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_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) goto LAB_00020740;" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (goto_statement "goto LAB_00020740;" goto statement_identifier ;)) (if_statement "if (local_74[0] != 0) goto LAB_0002075f;" 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_0002075f;" 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) ))) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000205d5;" goto statement_identifier ;) })) }) (else_clause "else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }" else (if_statement "if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }" if (parenthesized_expression "(local_78 != '\0')" ( (binary_expression "local_78 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }" { (labeled_statement "LAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;" statement_identifier : (if_statement "if (local_74[0] == 0) goto LAB_000205e1;" 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_000205e1;" goto statement_identifier ;))) })))) (goto_statement "goto LAB_000204e8;" goto statement_identifier ;) })) (if_statement "if (local_78 == '\0') goto LAB_000204e8;" if (parenthesized_expression "(local_78 == '\0')" ( (binary_expression "local_78 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000204e8;" goto statement_identifier ;)) (expression_statement "wVar5 = towlower(local_74[0]);" (assignment_expression "wVar5 = towlower(local_74[0])" identifier = (call_expression "towlower(local_74[0])" identifier (argument_list "(local_74[0])" ( (subscript_expression "local_74[0]" identifier [ number_literal ]) )))) ;) (expression_statement "wVar6 = towlower(wVar6);" (assignment_expression "wVar6 = towlower(wVar6)" identifier = (call_expression "towlower(wVar6)" identifier (argument_list "(wVar6)" ( identifier )))) ;) (expression_statement "wVar5 = wVar5 - wVar6;" (assignment_expression "wVar5 = wVar5 - wVar6" identifier = (binary_expression "wVar5 - wVar6" identifier - identifier)) ;) }))) (if_statement "if (wVar5 != 0) goto LAB_000202ff;" if (parenthesized_expression "(wVar5 != 0)" ( (binary_expression "wVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000202ff;" 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_48 = local_48 + local_44;" (assignment_expression "local_48 = local_48 + local_44" identifier = (binary_expression "local_48 + local_44" identifier + identifier)) ;) (goto_statement "goto LAB_000201f2;" goto statement_identifier ;) })) (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar1 = *ppuVar9;" (assignment_expression "puVar1 = *ppuVar9" identifier = (pointer_expression "*ppuVar9" * identifier)) ;) (do_statement "do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);" do (compound_statement "{\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    }" { (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }" if (parenthesized_expression "((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0)" ( (binary_expression "(*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1)" ( (binary_expression "*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1" (pointer_expression "*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1)" * (cast_expression "(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + (uint)bVar11 * 2 + 1)" ( (binary_expression "(int)puVar1 + (uint)bVar11 * 2 + 1" (binary_expression "(int)puVar1 + (uint)bVar11 * 2" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar11 * 2" (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }" { (expression_statement "pp_Var10 = __ctype_tolower_loc();" (assignment_expression "pp_Var10 = __ctype_tolower_loc()" identifier = (call_expression "__ctype_tolower_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar11 = *(byte *)(*pp_Var10 + bVar11);" (assignment_expression "bVar11 = *(byte *)(*pp_Var10 + bVar11)" identifier = (pointer_expression "*(byte *)(*pp_Var10 + bVar11)" * (cast_expression "(byte *)(*pp_Var10 + bVar11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*pp_Var10 + bVar11)" ( (binary_expression "*pp_Var10 + bVar11" (pointer_expression "*pp_Var10" * identifier) + identifier) ))))) ;) })) (expression_statement "uVar12 = (uint)*param_2;" (assignment_expression "uVar12 = (uint)*param_2" identifier = (binary_expression "(uint)*param_2" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }" if (parenthesized_expression "((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0)" ( (binary_expression "(*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1)" ( (binary_expression "*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1" (pointer_expression "*(byte *)((int)puVar1 + uVar12 * 2 + 1)" * (cast_expression "(byte *)((int)puVar1 + uVar12 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + uVar12 * 2 + 1)" ( (binary_expression "(int)puVar1 + uVar12 * 2 + 1" (binary_expression "(int)puVar1 + uVar12 * 2" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar12 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }" { (expression_statement "pp_Var10 = __ctype_tolower_loc();" (assignment_expression "pp_Var10 = __ctype_tolower_loc()" identifier = (call_expression "__ctype_tolower_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);" (assignment_expression "uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12)" identifier = (binary_expression "(uint)*(byte *)(*pp_Var10 + uVar12)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*pp_Var10 + uVar12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*pp_Var10 + uVar12)" ( (binary_expression "*pp_Var10 + uVar12" (pointer_expression "*pp_Var10" * identifier) + identifier) ))))) ;) })) (if_statement "if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000202fb;" goto statement_identifier ;) })) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11 == (byte)uVar12)" ( (binary_expression "bVar11 == (byte)uVar12" identifier == (cast_expression "(byte)uVar12" ( (type_descriptor "byte" type_identifier) ) identifier)) )) ;) (expression_statement "uVar13 = (uint)bVar11;" (assignment_expression "uVar13 = (uint)bVar11" identifier = (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (labeled_statement "LAB_000202fb:\n    wVar5 = uVar13 - uVar12;" statement_identifier : (expression_statement "wVar5 = uVar13 - uVar12;" (assignment_expression "wVar5 = uVar13 - uVar12" identifier = (binary_expression "uVar13 - uVar12" identifier - identifier)) ;)) }))) (labeled_statement "LAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\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    return wVar5;\n  }" { (return_statement "return wVar5;" return identifier ;) }))) (labeled_statement "LAB_00020764:\n                    /* WARNING: Subroutine does not return */\n  FUN_0003b430();" statement_identifier : comment (expression_statement "FUN_0003b430();" (call_expression "FUN_0003b430()" identifier (argument_list "()" ( ))) ;)) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint mbscasecmp(char *s1,char *s2)\n\n{\n  int iVar1;\n  ushort *puVar2;\n  char *pcVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  size_t sVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  wchar_t wVar13;\n  uint uVar14;\n  int in_GS_OFFSET;\n  mbuiter_multi *in_stack_ffffff54;\n  mbui_iterator_t iter1;\n  mbui_iterator_t iter2;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (s1 == s2) {\n    wVar13 = L'\0';\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      iter2.cur.ptr = s2;\n      iter1.cur.ptr = s1;\n      iter1.in_shift = false;\n      iter1.state.__count = 0;\n      iter1.state.__value.__wch = 0;\n      iter2.in_shift = false;\n      iter2.state.__count = 0;\n      iter2.state.__value.__wch = 0;\nLAB_000201f2:\n      iter2.next_done = false;\n      iter1.next_done = false;\n      if (iter1.in_shift != false) {\nLAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter1.cur.ptr;\n        sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n        if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }\n        iter1.cur.bytes = 1;\n        iter1.cur.wc_valid = false;\nLAB_00020149:\n        iter1.next_done = true;\n        if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }\n        if (wVar13 != L'\0') goto LAB_000202ff;\n        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;\n        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;\n        goto LAB_000201f2;\n      }\n      if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {\n        iVar8 = mbsinit((mbstate_t *)&iter1.state);\n        if (iVar8 == 0) goto LAB_00020721;\n        iter1.in_shift = true;\n        goto LAB_00020201;\n      }\n      iter1.cur.bytes = 1;\n      iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n      iter1.cur.wc_valid = true;\nLAB_0002013d:\n      iter1.next_done = true;\n      if (iter1.cur.wc != L'\0') goto LAB_00020149;\nLAB_000205e1:\n      if (iter2.next_done == false) {\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }\n      else if (iter2.cur.wc_valid != false) goto LAB_00020631;\nLAB_00020640:\n      wVar13 = L'\xffffffff';\n      goto LAB_000202ff;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar2 = *ppuVar9;\n    do {\n      bVar11 = *s1;\n      if ((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)(byte)*s2;\n      if ((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar14 = 0;\n        goto LAB_000202fb;\n      }\n      s1 = (char *)((byte *)s1 + 1);\n      s2 = (char *)((byte *)s2 + 1);\n    } while (bVar11 == (byte)uVar12);\n    uVar14 = (uint)bVar11;\nLAB_000202fb:\n    wVar13 = uVar14 - uVar12;\n  }\nLAB_000202ff:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar13;\n  }\nLAB_00020764:\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment (function_definition "int mbscasecmp(char *s1,char *s2)\n\n{\n  int iVar1;\n  ushort *puVar2;\n  char *pcVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  size_t sVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  wchar_t wVar13;\n  uint uVar14;\n  int in_GS_OFFSET;\n  mbuiter_multi *in_stack_ffffff54;\n  mbui_iterator_t iter1;\n  mbui_iterator_t iter2;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (s1 == s2) {\n    wVar13 = L'\0';\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      iter2.cur.ptr = s2;\n      iter1.cur.ptr = s1;\n      iter1.in_shift = false;\n      iter1.state.__count = 0;\n      iter1.state.__value.__wch = 0;\n      iter2.in_shift = false;\n      iter2.state.__count = 0;\n      iter2.state.__value.__wch = 0;\nLAB_000201f2:\n      iter2.next_done = false;\n      iter1.next_done = false;\n      if (iter1.in_shift != false) {\nLAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter1.cur.ptr;\n        sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n        if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }\n        iter1.cur.bytes = 1;\n        iter1.cur.wc_valid = false;\nLAB_00020149:\n        iter1.next_done = true;\n        if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }\n        if (wVar13 != L'\0') goto LAB_000202ff;\n        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;\n        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;\n        goto LAB_000201f2;\n      }\n      if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {\n        iVar8 = mbsinit((mbstate_t *)&iter1.state);\n        if (iVar8 == 0) goto LAB_00020721;\n        iter1.in_shift = true;\n        goto LAB_00020201;\n      }\n      iter1.cur.bytes = 1;\n      iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n      iter1.cur.wc_valid = true;\nLAB_0002013d:\n      iter1.next_done = true;\n      if (iter1.cur.wc != L'\0') goto LAB_00020149;\nLAB_000205e1:\n      if (iter2.next_done == false) {\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }\n      else if (iter2.cur.wc_valid != false) goto LAB_00020631;\nLAB_00020640:\n      wVar13 = L'\xffffffff';\n      goto LAB_000202ff;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar2 = *ppuVar9;\n    do {\n      bVar11 = *s1;\n      if ((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)(byte)*s2;\n      if ((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar14 = 0;\n        goto LAB_000202fb;\n      }\n      s1 = (char *)((byte *)s1 + 1);\n      s2 = (char *)((byte *)s2 + 1);\n    } while (bVar11 == (byte)uVar12);\n    uVar14 = (uint)bVar11;\nLAB_000202fb:\n    wVar13 = uVar14 - uVar12;\n  }\nLAB_000202ff:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar13;\n  }\nLAB_00020764:\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (function_declarator "mbscasecmp(char *s1,char *s2)" identifier (parameter_list "(char *s1,char *s2)" ( (parameter_declaration "char *s1" primitive_type (pointer_declarator "*s1" * identifier)) , (parameter_declaration "char *s2" primitive_type (pointer_declarator "*s2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  ushort *puVar2;\n  char *pcVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  size_t sVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  wchar_t wVar13;\n  uint uVar14;\n  int in_GS_OFFSET;\n  mbuiter_multi *in_stack_ffffff54;\n  mbui_iterator_t iter1;\n  mbui_iterator_t iter2;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (s1 == s2) {\n    wVar13 = L'\0';\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      iter2.cur.ptr = s2;\n      iter1.cur.ptr = s1;\n      iter1.in_shift = false;\n      iter1.state.__count = 0;\n      iter1.state.__value.__wch = 0;\n      iter2.in_shift = false;\n      iter2.state.__count = 0;\n      iter2.state.__value.__wch = 0;\nLAB_000201f2:\n      iter2.next_done = false;\n      iter1.next_done = false;\n      if (iter1.in_shift != false) {\nLAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter1.cur.ptr;\n        sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n        if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }\n        iter1.cur.bytes = 1;\n        iter1.cur.wc_valid = false;\nLAB_00020149:\n        iter1.next_done = true;\n        if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }\n        if (wVar13 != L'\0') goto LAB_000202ff;\n        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;\n        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;\n        goto LAB_000201f2;\n      }\n      if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {\n        iVar8 = mbsinit((mbstate_t *)&iter1.state);\n        if (iVar8 == 0) goto LAB_00020721;\n        iter1.in_shift = true;\n        goto LAB_00020201;\n      }\n      iter1.cur.bytes = 1;\n      iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n      iter1.cur.wc_valid = true;\nLAB_0002013d:\n      iter1.next_done = true;\n      if (iter1.cur.wc != L'\0') goto LAB_00020149;\nLAB_000205e1:\n      if (iter2.next_done == false) {\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }\n      else if (iter2.cur.wc_valid != false) goto LAB_00020631;\nLAB_00020640:\n      wVar13 = L'\xffffffff';\n      goto LAB_000202ff;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar2 = *ppuVar9;\n    do {\n      bVar11 = *s1;\n      if ((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)(byte)*s2;\n      if ((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar14 = 0;\n        goto LAB_000202fb;\n      }\n      s1 = (char *)((byte *)s1 + 1);\n      s2 = (char *)((byte *)s2 + 1);\n    } while (bVar11 == (byte)uVar12);\n    uVar14 = (uint)bVar11;\nLAB_000202fb:\n    wVar13 = uVar14 - uVar12;\n  }\nLAB_000202ff:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar13;\n  }\nLAB_00020764:\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "ushort *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "wint_t wVar5;" type_identifier identifier ;) (declaration "wint_t wVar6;" type_identifier identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "ushort **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "__int32_t **pp_Var10;" type_identifier (pointer_declarator "**pp_Var10" * (pointer_declarator "*pp_Var10" * identifier)) ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "wchar_t wVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "mbuiter_multi *in_stack_ffffff54;" type_identifier (pointer_declarator "*in_stack_ffffff54" * identifier) ;) (declaration "mbui_iterator_t iter1;" type_identifier identifier ;) (declaration "mbui_iterator_t iter2;" 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) ))))) ;) (if_statement "if (s1 == s2) {\n    wVar13 = L'\0';\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      iter2.cur.ptr = s2;\n      iter1.cur.ptr = s1;\n      iter1.in_shift = false;\n      iter1.state.__count = 0;\n      iter1.state.__value.__wch = 0;\n      iter2.in_shift = false;\n      iter2.state.__count = 0;\n      iter2.state.__value.__wch = 0;\nLAB_000201f2:\n      iter2.next_done = false;\n      iter1.next_done = false;\n      if (iter1.in_shift != false) {\nLAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter1.cur.ptr;\n        sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n        if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }\n        iter1.cur.bytes = 1;\n        iter1.cur.wc_valid = false;\nLAB_00020149:\n        iter1.next_done = true;\n        if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }\n        if (wVar13 != L'\0') goto LAB_000202ff;\n        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;\n        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;\n        goto LAB_000201f2;\n      }\n      if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {\n        iVar8 = mbsinit((mbstate_t *)&iter1.state);\n        if (iVar8 == 0) goto LAB_00020721;\n        iter1.in_shift = true;\n        goto LAB_00020201;\n      }\n      iter1.cur.bytes = 1;\n      iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n      iter1.cur.wc_valid = true;\nLAB_0002013d:\n      iter1.next_done = true;\n      if (iter1.cur.wc != L'\0') goto LAB_00020149;\nLAB_000205e1:\n      if (iter2.next_done == false) {\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }\n      else if (iter2.cur.wc_valid != false) goto LAB_00020631;\nLAB_00020640:\n      wVar13 = L'\xffffffff';\n      goto LAB_000202ff;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar2 = *ppuVar9;\n    do {\n      bVar11 = *s1;\n      if ((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)(byte)*s2;\n      if ((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar14 = 0;\n        goto LAB_000202fb;\n      }\n      s1 = (char *)((byte *)s1 + 1);\n      s2 = (char *)((byte *)s2 + 1);\n    } while (bVar11 == (byte)uVar12);\n    uVar14 = (uint)bVar11;\nLAB_000202fb:\n    wVar13 = uVar14 - uVar12;\n  }" if (parenthesized_expression "(s1 == s2)" ( (binary_expression "s1 == s2" identifier == identifier) )) (compound_statement "{\n    wVar13 = L'\0';\n  }" { (expression_statement "wVar13 = L'\0';" (assignment_expression "wVar13 = L'\0'" identifier = (char_literal "L'\0'" L' escape_sequence ')) ;) }) (else_clause "else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      iter2.cur.ptr = s2;\n      iter1.cur.ptr = s1;\n      iter1.in_shift = false;\n      iter1.state.__count = 0;\n      iter1.state.__value.__wch = 0;\n      iter2.in_shift = false;\n      iter2.state.__count = 0;\n      iter2.state.__value.__wch = 0;\nLAB_000201f2:\n      iter2.next_done = false;\n      iter1.next_done = false;\n      if (iter1.in_shift != false) {\nLAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter1.cur.ptr;\n        sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n        if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }\n        iter1.cur.bytes = 1;\n        iter1.cur.wc_valid = false;\nLAB_00020149:\n        iter1.next_done = true;\n        if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }\n        if (wVar13 != L'\0') goto LAB_000202ff;\n        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;\n        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;\n        goto LAB_000201f2;\n      }\n      if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {\n        iVar8 = mbsinit((mbstate_t *)&iter1.state);\n        if (iVar8 == 0) goto LAB_00020721;\n        iter1.in_shift = true;\n        goto LAB_00020201;\n      }\n      iter1.cur.bytes = 1;\n      iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n      iter1.cur.wc_valid = true;\nLAB_0002013d:\n      iter1.next_done = true;\n      if (iter1.cur.wc != L'\0') goto LAB_00020149;\nLAB_000205e1:\n      if (iter2.next_done == false) {\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }\n      else if (iter2.cur.wc_valid != false) goto LAB_00020631;\nLAB_00020640:\n      wVar13 = L'\xffffffff';\n      goto LAB_000202ff;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar2 = *ppuVar9;\n    do {\n      bVar11 = *s1;\n      if ((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)(byte)*s2;\n      if ((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar14 = 0;\n        goto LAB_000202fb;\n      }\n      s1 = (char *)((byte *)s1 + 1);\n      s2 = (char *)((byte *)s2 + 1);\n    } while (bVar11 == (byte)uVar12);\n    uVar14 = (uint)bVar11;\nLAB_000202fb:\n    wVar13 = uVar14 - uVar12;\n  }" else (compound_statement "{\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      iter2.cur.ptr = s2;\n      iter1.cur.ptr = s1;\n      iter1.in_shift = false;\n      iter1.state.__count = 0;\n      iter1.state.__value.__wch = 0;\n      iter2.in_shift = false;\n      iter2.state.__count = 0;\n      iter2.state.__value.__wch = 0;\nLAB_000201f2:\n      iter2.next_done = false;\n      iter1.next_done = false;\n      if (iter1.in_shift != false) {\nLAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter1.cur.ptr;\n        sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n        if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }\n        iter1.cur.bytes = 1;\n        iter1.cur.wc_valid = false;\nLAB_00020149:\n        iter1.next_done = true;\n        if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }\n        if (wVar13 != L'\0') goto LAB_000202ff;\n        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;\n        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;\n        goto LAB_000201f2;\n      }\n      if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {\n        iVar8 = mbsinit((mbstate_t *)&iter1.state);\n        if (iVar8 == 0) goto LAB_00020721;\n        iter1.in_shift = true;\n        goto LAB_00020201;\n      }\n      iter1.cur.bytes = 1;\n      iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n      iter1.cur.wc_valid = true;\nLAB_0002013d:\n      iter1.next_done = true;\n      if (iter1.cur.wc != L'\0') goto LAB_00020149;\nLAB_000205e1:\n      if (iter2.next_done == false) {\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }\n      else if (iter2.cur.wc_valid != false) goto LAB_00020631;\nLAB_00020640:\n      wVar13 = L'\xffffffff';\n      goto LAB_000202ff;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar2 = *ppuVar9;\n    do {\n      bVar11 = *s1;\n      if ((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)(byte)*s2;\n      if ((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar14 = 0;\n        goto LAB_000202fb;\n      }\n      s1 = (char *)((byte *)s1 + 1);\n      s2 = (char *)((byte *)s2 + 1);\n    } while (bVar11 == (byte)uVar12);\n    uVar14 = (uint)bVar11;\nLAB_000202fb:\n    wVar13 = uVar14 - uVar12;\n  }" { (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (if_statement "if (1 < sVar4) {\n      iter2.cur.ptr = s2;\n      iter1.cur.ptr = s1;\n      iter1.in_shift = false;\n      iter1.state.__count = 0;\n      iter1.state.__value.__wch = 0;\n      iter2.in_shift = false;\n      iter2.state.__count = 0;\n      iter2.state.__value.__wch = 0;\nLAB_000201f2:\n      iter2.next_done = false;\n      iter1.next_done = false;\n      if (iter1.in_shift != false) {\nLAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter1.cur.ptr;\n        sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n        if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }\n        iter1.cur.bytes = 1;\n        iter1.cur.wc_valid = false;\nLAB_00020149:\n        iter1.next_done = true;\n        if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }\n        if (wVar13 != L'\0') goto LAB_000202ff;\n        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;\n        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;\n        goto LAB_000201f2;\n      }\n      if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {\n        iVar8 = mbsinit((mbstate_t *)&iter1.state);\n        if (iVar8 == 0) goto LAB_00020721;\n        iter1.in_shift = true;\n        goto LAB_00020201;\n      }\n      iter1.cur.bytes = 1;\n      iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n      iter1.cur.wc_valid = true;\nLAB_0002013d:\n      iter1.next_done = true;\n      if (iter1.cur.wc != L'\0') goto LAB_00020149;\nLAB_000205e1:\n      if (iter2.next_done == false) {\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }\n      else if (iter2.cur.wc_valid != false) goto LAB_00020631;\nLAB_00020640:\n      wVar13 = L'\xffffffff';\n      goto LAB_000202ff;\n    }" if (parenthesized_expression "(1 < sVar4)" ( (binary_expression "1 < sVar4" number_literal < identifier) )) (compound_statement "{\n      iter2.cur.ptr = s2;\n      iter1.cur.ptr = s1;\n      iter1.in_shift = false;\n      iter1.state.__count = 0;\n      iter1.state.__value.__wch = 0;\n      iter2.in_shift = false;\n      iter2.state.__count = 0;\n      iter2.state.__value.__wch = 0;\nLAB_000201f2:\n      iter2.next_done = false;\n      iter1.next_done = false;\n      if (iter1.in_shift != false) {\nLAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter1.cur.ptr;\n        sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n        if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }\n        iter1.cur.bytes = 1;\n        iter1.cur.wc_valid = false;\nLAB_00020149:\n        iter1.next_done = true;\n        if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }\n        if (wVar13 != L'\0') goto LAB_000202ff;\n        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;\n        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;\n        goto LAB_000201f2;\n      }\n      if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {\n        iVar8 = mbsinit((mbstate_t *)&iter1.state);\n        if (iVar8 == 0) goto LAB_00020721;\n        iter1.in_shift = true;\n        goto LAB_00020201;\n      }\n      iter1.cur.bytes = 1;\n      iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n      iter1.cur.wc_valid = true;\nLAB_0002013d:\n      iter1.next_done = true;\n      if (iter1.cur.wc != L'\0') goto LAB_00020149;\nLAB_000205e1:\n      if (iter2.next_done == false) {\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }\n      else if (iter2.cur.wc_valid != false) goto LAB_00020631;\nLAB_00020640:\n      wVar13 = L'\xffffffff';\n      goto LAB_000202ff;\n    }" { (expression_statement "iter2.cur.ptr = s2;" (assignment_expression "iter2.cur.ptr = s2" (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "iter1.cur.ptr = s1;" (assignment_expression "iter1.cur.ptr = s1" (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "iter1.in_shift = false;" (assignment_expression "iter1.in_shift = false" (field_expression "iter1.in_shift" identifier . field_identifier) = false) ;) (expression_statement "iter1.state.__count = 0;" (assignment_expression "iter1.state.__count = 0" (field_expression "iter1.state.__count" (field_expression "iter1.state" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iter1.state.__value.__wch = 0;" (assignment_expression "iter1.state.__value.__wch = 0" (field_expression "iter1.state.__value.__wch" (field_expression "iter1.state.__value" (field_expression "iter1.state" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iter2.in_shift = false;" (assignment_expression "iter2.in_shift = false" (field_expression "iter2.in_shift" identifier . field_identifier) = false) ;) (expression_statement "iter2.state.__count = 0;" (assignment_expression "iter2.state.__count = 0" (field_expression "iter2.state.__count" (field_expression "iter2.state" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iter2.state.__value.__wch = 0;" (assignment_expression "iter2.state.__value.__wch = 0" (field_expression "iter2.state.__value.__wch" (field_expression "iter2.state.__value" (field_expression "iter2.state" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (labeled_statement "LAB_000201f2:\n      iter2.next_done = false;" statement_identifier : (expression_statement "iter2.next_done = false;" (assignment_expression "iter2.next_done = false" (field_expression "iter2.next_done" identifier . field_identifier) = false) ;)) (expression_statement "iter1.next_done = false;" (assignment_expression "iter1.next_done = false" (field_expression "iter1.next_done" identifier . field_identifier) = false) ;) (if_statement "if (iter1.in_shift != false) {\nLAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter1.cur.ptr;\n        sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n        if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }\n        iter1.cur.bytes = 1;\n        iter1.cur.wc_valid = false;\nLAB_00020149:\n        iter1.next_done = true;\n        if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }\n        if (wVar13 != L'\0') goto LAB_000202ff;\n        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;\n        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;\n        goto LAB_000201f2;\n      }" if (parenthesized_expression "(iter1.in_shift != false)" ( (binary_expression "iter1.in_shift != false" (field_expression "iter1.in_shift" identifier . field_identifier) != false) )) (compound_statement "{\nLAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter1.cur.ptr;\n        sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n        iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n        if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }\n        iter1.cur.bytes = 1;\n        iter1.cur.wc_valid = false;\nLAB_00020149:\n        iter1.next_done = true;\n        if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }\n        if (wVar13 != L'\0') goto LAB_000202ff;\n        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;\n        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;\n        goto LAB_000201f2;\n      }" { (labeled_statement "LAB_00020201:\n        sVar4 = __ctype_get_mb_cur_max();" statement_identifier : (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pcVar3 = iter1.cur.ptr;" (assignment_expression "pcVar3 = iter1.cur.ptr" identifier = (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier)) ;) (expression_statement "sVar7 = strnlen1(iter1.cur.ptr,sVar4);" (assignment_expression "sVar7 = strnlen1(iter1.cur.ptr,sVar4)" identifier = (call_expression "strnlen1(iter1.cur.ptr,sVar4)" identifier (argument_list "(iter1.cur.ptr,sVar4)" ( (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);" (assignment_expression "iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state)" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = (call_expression "rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state)" identifier (argument_list "(&iter1.cur.wc,pcVar3,sVar7,&iter1.state)" ( (pointer_expression "&iter1.cur.wc" & (field_expression "iter1.cur.wc" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier)) , identifier , identifier , (pointer_expression "&iter1.state" & (field_expression "iter1.state" identifier . field_identifier)) )))) ;) (if_statement "if (iter1.cur.bytes != 0xffffffff) {\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }" if (parenthesized_expression "(iter1.cur.bytes != 0xffffffff)" ( (binary_expression "iter1.cur.bytes != 0xffffffff" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n          if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }\n          if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }\n          iter1.cur.bytes = 1;\n          if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n          if (iter1.cur.wc == L'\0') goto LAB_00020262;\nLAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);\n          goto LAB_00020764;\n        }" { (if_statement "if (iter1.cur.bytes == 0xfffffffe) {\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }" if (parenthesized_expression "(iter1.cur.bytes == 0xfffffffe)" ( (binary_expression "iter1.cur.bytes == 0xfffffffe" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n            iter1.cur.bytes = strlen(iter1.cur.ptr);\n            iter1.cur.wc_valid = false;\n            goto LAB_00020149;\n          }" { (expression_statement "iter1.cur.bytes = strlen(iter1.cur.ptr);" (assignment_expression "iter1.cur.bytes = strlen(iter1.cur.ptr)" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = (call_expression "strlen(iter1.cur.ptr)" identifier (argument_list "(iter1.cur.ptr)" ( (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) )))) ;) (expression_statement "iter1.cur.wc_valid = false;" (assignment_expression "iter1.cur.wc_valid = false" (field_expression "iter1.cur.wc_valid" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = false) ;) (goto_statement "goto LAB_00020149;" goto statement_identifier ;) })) (if_statement "if (iter1.cur.bytes != 0) {\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }" if (parenthesized_expression "(iter1.cur.bytes != 0)" ( (binary_expression "iter1.cur.bytes != 0" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\nLAB_00020262:\n            iter1.cur.wc_valid = true;\n            iVar8 = mbsinit((mbstate_t *)&iter1.state);\n            if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }\n            goto LAB_0002013d;\n          }" { (labeled_statement "LAB_00020262:\n            iter1.cur.wc_valid = true;" statement_identifier : (expression_statement "iter1.cur.wc_valid = true;" (assignment_expression "iter1.cur.wc_valid = true" (field_expression "iter1.cur.wc_valid" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = true) ;)) (expression_statement "iVar8 = mbsinit((mbstate_t *)&iter1.state);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)&iter1.state)" identifier = (call_expression "mbsinit((mbstate_t *)&iter1.state)" identifier (argument_list "((mbstate_t *)&iter1.state)" ( (cast_expression "(mbstate_t *)&iter1.state" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iter1.state" & (field_expression "iter1.state" identifier . field_identifier))) )))) ;) (if_statement "if (iVar8 != 0) {\n              iter1.in_shift = false;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              iter1.in_shift = false;\n            }" { (expression_statement "iter1.in_shift = false;" (assignment_expression "iter1.in_shift = false" (field_expression "iter1.in_shift" identifier . field_identifier) = false) ;) })) (goto_statement "goto LAB_0002013d;" goto statement_identifier ;) })) (expression_statement "iter1.cur.bytes = 1;" (assignment_expression "iter1.cur.bytes = 1" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (*iter1.cur.ptr != '\0') goto LAB_00020740;" if (parenthesized_expression "(*iter1.cur.ptr != '\0')" ( (binary_expression "*iter1.cur.ptr != '\0'" (pointer_expression "*iter1.cur.ptr" * (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00020740;" goto statement_identifier ;)) (if_statement "if (iter1.cur.wc == L'\0') goto LAB_00020262;" if (parenthesized_expression "(iter1.cur.wc == L'\0')" ( (binary_expression "iter1.cur.wc == L'\0'" (field_expression "iter1.cur.wc" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) == (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_00020262;" goto statement_identifier ;)) (labeled_statement "LAB_0002075f:\n          mbuiter_multi_next(in_stack_ffffff54);" statement_identifier : (expression_statement "mbuiter_multi_next(in_stack_ffffff54);" (call_expression "mbuiter_multi_next(in_stack_ffffff54)" identifier (argument_list "(in_stack_ffffff54)" ( identifier ))) ;)) (goto_statement "goto LAB_00020764;" goto statement_identifier ;) })) (expression_statement "iter1.cur.bytes = 1;" (assignment_expression "iter1.cur.bytes = 1" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iter1.cur.wc_valid = false;" (assignment_expression "iter1.cur.wc_valid = false" (field_expression "iter1.cur.wc_valid" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = false) ;) (labeled_statement "LAB_00020149:\n        iter1.next_done = true;" statement_identifier : (expression_statement "iter1.next_done = true;" (assignment_expression "iter1.next_done = true" (field_expression "iter1.next_done" identifier . field_identifier) = true) ;)) (if_statement "if (iter2.next_done == false) {\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }\n        else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }" if (parenthesized_expression "(iter2.next_done == false)" ( (binary_expression "iter2.next_done == false" (field_expression "iter2.next_done" identifier . field_identifier) == false) )) (compound_statement "{\n          if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pcVar3 = iter2.cur.ptr;\n          sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n          iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n          if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\nLAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;\n          if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }\n          wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n        }" { (if_statement "if (iter2.in_shift == false) {\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }" if (parenthesized_expression "(iter2.in_shift == false)" ( (binary_expression "iter2.in_shift == false" (field_expression "iter2.in_shift" identifier . field_identifier) == false) )) (compound_statement "{\n            if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iVar8 = mbsinit((mbstate_t *)&iter2.state);\n            if (iVar8 == 0) goto LAB_00020721;\n            iter2.in_shift = true;\n          }" { (if_statement "if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }" if (parenthesized_expression "((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0)" ( (binary_expression "(*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1) != 0" (parenthesized_expression "(*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1)" ( (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU) & 1" (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n                 (*iter2.cur.ptr & 0x1fU)" (pointer_expression "*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4)" * (cast_expression "(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4)" ( (binary_expression "is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4" identifier + (binary_expression "(uint)((byte)*iter2.cur.ptr >> 5) * 4" (call_expression "(uint)((byte)*iter2.cur.ptr >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)*iter2.cur.ptr >> 5)" ( (binary_expression "(byte)*iter2.cur.ptr >> 5" (binary_expression "(byte)*iter2.cur.ptr" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*iter2.cur.ptr & 0x1fU)" ( (binary_expression "*iter2.cur.ptr & 0x1fU" (pointer_expression "*iter2.cur.ptr" * (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n              iter2.cur.bytes = 1;\n              iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n              iter2.cur.wc_valid = true;\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }" { (expression_statement "iter2.cur.bytes = 1;" (assignment_expression "iter2.cur.bytes = 1" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iter2.cur.wc = (wchar_t)*iter2.cur.ptr;" (assignment_expression "iter2.cur.wc = (wchar_t)*iter2.cur.ptr" (field_expression "iter2.cur.wc" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = (binary_expression "(wchar_t)*iter2.cur.ptr" (parenthesized_expression "(wchar_t)" ( identifier )) * (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "iter2.cur.wc_valid = true;" (assignment_expression "iter2.cur.wc_valid = true" (field_expression "iter2.cur.wc_valid" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "iter2.next_done = true;" (assignment_expression "iter2.next_done = true" (field_expression "iter2.next_done" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_0002019c;" goto statement_identifier ;) })) (expression_statement "iVar8 = mbsinit((mbstate_t *)&iter2.state);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)&iter2.state)" identifier = (call_expression "mbsinit((mbstate_t *)&iter2.state)" identifier (argument_list "((mbstate_t *)&iter2.state)" ( (cast_expression "(mbstate_t *)&iter2.state" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iter2.state" & (field_expression "iter2.state" identifier . field_identifier))) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00020721;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020721;" goto statement_identifier ;)) (expression_statement "iter2.in_shift = true;" (assignment_expression "iter2.in_shift = true" (field_expression "iter2.in_shift" identifier . field_identifier) = true) ;) })) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar3 = iter2.cur.ptr;" (assignment_expression "pcVar3 = iter2.cur.ptr" identifier = (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) ;) (expression_statement "sVar7 = strnlen1(iter2.cur.ptr,sVar4);" (assignment_expression "sVar7 = strnlen1(iter2.cur.ptr,sVar4)" identifier = (call_expression "strnlen1(iter2.cur.ptr,sVar4)" identifier (argument_list "(iter2.cur.ptr,sVar4)" ( (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);" (assignment_expression "iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state)" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = (call_expression "rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state)" identifier (argument_list "(&iter2.cur.wc,pcVar3,sVar7,&iter2.state)" ( (pointer_expression "&iter2.cur.wc" & (field_expression "iter2.cur.wc" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) , identifier , identifier , (pointer_expression "&iter2.state" & (field_expression "iter2.state" identifier . field_identifier)) )))) ;) (if_statement "if (iter2.cur.bytes == 0xffffffff) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }\n          else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }" if (parenthesized_expression "(iter2.cur.bytes == 0xffffffff)" ( (binary_expression "iter2.cur.bytes == 0xffffffff" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n            iter2.cur.bytes = 1;\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }" { (expression_statement "iter2.cur.bytes = 1;" (assignment_expression "iter2.cur.bytes = 1" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iter2.cur.wc_valid = false;" (assignment_expression "iter2.cur.wc_valid = false" (field_expression "iter2.cur.wc_valid" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = false) ;) (expression_statement "iter2.next_done = true;" (assignment_expression "iter2.next_done = true" (field_expression "iter2.next_done" identifier . field_identifier) = true) ;) }) (else_clause "else {\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }" else (compound_statement "{\n            if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }\n            iter2.cur.bytes = strlen(iter2.cur.ptr);\n            iter2.cur.wc_valid = false;\n            iter2.next_done = true;\n          }" { (if_statement "if (iter2.cur.bytes != 0xfffffffe) {\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }" if (parenthesized_expression "(iter2.cur.bytes != 0xfffffffe)" ( (binary_expression "iter2.cur.bytes != 0xfffffffe" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n              if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }\n              iter2.cur.wc_valid = true;\n              iVar8 = mbsinit((mbstate_t *)&iter2.state);\n              if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }\n              iter2.next_done = true;\n              goto LAB_0002019c;\n            }" { (if_statement "if (iter2.cur.bytes == 0) {\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }" if (parenthesized_expression "(iter2.cur.bytes == 0)" ( (binary_expression "iter2.cur.bytes == 0" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                iter2.cur.bytes = 1;\n                if (*iter2.cur.ptr != '\0') goto LAB_00020740;\n                if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n              }" { (expression_statement "iter2.cur.bytes = 1;" (assignment_expression "iter2.cur.bytes = 1" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (*iter2.cur.ptr != '\0') goto LAB_00020740;" if (parenthesized_expression "(*iter2.cur.ptr != '\0')" ( (binary_expression "*iter2.cur.ptr != '\0'" (pointer_expression "*iter2.cur.ptr" * (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00020740;" goto statement_identifier ;)) (if_statement "if (iter2.cur.wc != L'\0') goto LAB_0002075f;" if (parenthesized_expression "(iter2.cur.wc != L'\0')" ( (binary_expression "iter2.cur.wc != L'\0'" (field_expression "iter2.cur.wc" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) != (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_0002075f;" goto statement_identifier ;)) })) (expression_statement "iter2.cur.wc_valid = true;" (assignment_expression "iter2.cur.wc_valid = true" (field_expression "iter2.cur.wc_valid" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "iVar8 = mbsinit((mbstate_t *)&iter2.state);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)&iter2.state)" identifier = (call_expression "mbsinit((mbstate_t *)&iter2.state)" identifier (argument_list "((mbstate_t *)&iter2.state)" ( (cast_expression "(mbstate_t *)&iter2.state" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iter2.state" & (field_expression "iter2.state" identifier . field_identifier))) )))) ;) (if_statement "if (iVar8 != 0) {\n                iter2.in_shift = false;\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                iter2.in_shift = false;\n              }" { (expression_statement "iter2.in_shift = false;" (assignment_expression "iter2.in_shift = false" (field_expression "iter2.in_shift" identifier . field_identifier) = false) ;) })) (expression_statement "iter2.next_done = true;" (assignment_expression "iter2.next_done = true" (field_expression "iter2.next_done" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_0002019c;" goto statement_identifier ;) })) (expression_statement "iter2.cur.bytes = strlen(iter2.cur.ptr);" (assignment_expression "iter2.cur.bytes = strlen(iter2.cur.ptr)" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = (call_expression "strlen(iter2.cur.ptr)" identifier (argument_list "(iter2.cur.ptr)" ( (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) )))) ;) (expression_statement "iter2.cur.wc_valid = false;" (assignment_expression "iter2.cur.wc_valid = false" (field_expression "iter2.cur.wc_valid" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = false) ;) (expression_statement "iter2.next_done = true;" (assignment_expression "iter2.next_done = true" (field_expression "iter2.next_done" identifier . field_identifier) = true) ;) }))) (labeled_statement "LAB_000203d3:\n          if (iter1.cur.wc_valid != false) goto LAB_00020640;" statement_identifier : (if_statement "if (iter1.cur.wc_valid != false) goto LAB_00020640;" if (parenthesized_expression "(iter1.cur.wc_valid != false)" ( (binary_expression "iter1.cur.wc_valid != false" (field_expression "iter1.cur.wc_valid" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) != false) )) (goto_statement "goto LAB_00020640;" goto statement_identifier ;))) (if_statement "if (iter1.cur.bytes != iter2.cur.bytes) {\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }" if (parenthesized_expression "(iter1.cur.bytes != iter2.cur.bytes)" ( (binary_expression "iter1.cur.bytes != iter2.cur.bytes" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) != (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) )) (compound_statement "{\n            if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }\n            goto LAB_00020640;\n          }" { (if_statement "if (iter1.cur.bytes < iter2.cur.bytes) {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }\n            else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }" if (parenthesized_expression "(iter1.cur.bytes < iter2.cur.bytes)" ( (binary_expression "iter1.cur.bytes < iter2.cur.bytes" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) < (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) )) (compound_statement "{\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);\n              if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }\n            }" { (expression_statement "iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);" (assignment_expression "iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes)" identifier = (call_expression "memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes)" identifier (argument_list "(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes)" ( (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) , (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) , (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) )))) ;) (if_statement "if (0 < iVar8) {\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }" if (parenthesized_expression "(0 < iVar8)" ( (binary_expression "0 < iVar8" number_literal < identifier) )) (compound_statement "{\nLAB_000204e8:\n                wVar13 = L'\x01';\n                goto LAB_000202ff;\n              }" { (labeled_statement "LAB_000204e8:\n                wVar13 = L'\x01';" statement_identifier : (expression_statement "wVar13 = L'\x01';" (assignment_expression "wVar13 = L'\x01'" identifier = (char_literal "L'\x01'" L' escape_sequence ')) ;)) (goto_statement "goto LAB_000202ff;" goto statement_identifier ;) })) }) (else_clause "else {\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }" else (compound_statement "{\n              iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);\n              if (-1 < iVar8) goto LAB_000204e8;\n            }" { (expression_statement "iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);" (assignment_expression "iVar8 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes)" identifier = (call_expression "memcmp(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes)" identifier (argument_list "(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes)" ( (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) , (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) , (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) )))) ;) (if_statement "if (-1 < iVar8) goto LAB_000204e8;" if (parenthesized_expression "(-1 < iVar8)" ( (binary_expression "-1 < iVar8" number_literal < identifier) )) (goto_statement "goto LAB_000204e8;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_00020640;" goto statement_identifier ;) })) (expression_statement "wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);" (assignment_expression "wVar13 = memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes)" identifier = (call_expression "memcmp(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes)" identifier (argument_list "(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes)" ( (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) , (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) , (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) )))) ;) }) (else_clause "else {\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }" else (compound_statement "{\n          if (iter2.cur.wc_valid == false) goto LAB_000203d3;\nLAB_0002019c:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }\n          if (iter1.cur.wc_valid == false) goto LAB_000204e8;\n          wVar5 = towlower(iter1.cur.wc);\n          wVar6 = towlower(wVar13);\n          wVar13 = wVar5 - wVar6;\n        }" { (if_statement "if (iter2.cur.wc_valid == false) goto LAB_000203d3;" if (parenthesized_expression "(iter2.cur.wc_valid == false)" ( (binary_expression "iter2.cur.wc_valid == false" (field_expression "iter2.cur.wc_valid" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) == false) )) (goto_statement "goto LAB_000203d3;" goto statement_identifier ;)) (labeled_statement "LAB_0002019c:\n          wVar13 = iter2.cur.wc;" statement_identifier : (expression_statement "wVar13 = iter2.cur.wc;" (assignment_expression "wVar13 = iter2.cur.wc" identifier = (field_expression "iter2.cur.wc" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) ;)) (if_statement "if (iter2.cur.wc == L'\0') {\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }" if (parenthesized_expression "(iter2.cur.wc == L'\0')" ( (binary_expression "iter2.cur.wc == L'\0'" (field_expression "iter2.cur.wc" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) == (char_literal "L'\0'" L' escape_sequence ')) )) (compound_statement "{\n            if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }\n            goto LAB_000204e8;\n          }" { (if_statement "if (iter1.next_done == false) {\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }\n            else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }" if (parenthesized_expression "(iter1.next_done == false)" ( (binary_expression "iter1.next_done == false" (field_expression "iter1.next_done" identifier . field_identifier) == false) )) (compound_statement "{\n              if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }\n              sVar4 = __ctype_get_mb_cur_max();\n              pcVar3 = iter1.cur.ptr;\n              sVar7 = strnlen1(iter1.cur.ptr,sVar4);\n              iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);\n              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }\n            }" { (if_statement "if (iter1.in_shift == false) {\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }" if (parenthesized_expression "(iter1.in_shift == false)" ( (binary_expression "iter1.in_shift == false" (field_expression "iter1.in_shift" identifier . field_identifier) == false) )) (compound_statement "{\n                if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 == 0) goto LAB_00020721;\n                iter1.in_shift = true;\n              }" { (if_statement "if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }" if (parenthesized_expression "((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0)" ( (binary_expression "(*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1) != 0" (parenthesized_expression "(*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1)" ( (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU) & 1" (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n                     (*iter1.cur.ptr & 0x1fU)" (pointer_expression "*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4)" * (cast_expression "(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4)" ( (binary_expression "is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4" identifier + (binary_expression "(uint)((byte)*iter1.cur.ptr >> 5) * 4" (call_expression "(uint)((byte)*iter1.cur.ptr >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)*iter1.cur.ptr >> 5)" ( (binary_expression "(byte)*iter1.cur.ptr >> 5" (binary_expression "(byte)*iter1.cur.ptr" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier)) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*iter1.cur.ptr & 0x1fU)" ( (binary_expression "*iter1.cur.ptr & 0x1fU" (pointer_expression "*iter1.cur.ptr" * (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier)) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  iter1.cur.bytes = 1;\n                  iter1.cur.wc = (wchar_t)*iter1.cur.ptr;\n                  iter1.cur.wc_valid = true;\n                  iter1.next_done = true;\n                  goto LAB_000205d5;\n                }" { (expression_statement "iter1.cur.bytes = 1;" (assignment_expression "iter1.cur.bytes = 1" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iter1.cur.wc = (wchar_t)*iter1.cur.ptr;" (assignment_expression "iter1.cur.wc = (wchar_t)*iter1.cur.ptr" (field_expression "iter1.cur.wc" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = (binary_expression "(wchar_t)*iter1.cur.ptr" (parenthesized_expression "(wchar_t)" ( identifier )) * (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "iter1.cur.wc_valid = true;" (assignment_expression "iter1.cur.wc_valid = true" (field_expression "iter1.cur.wc_valid" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "iter1.next_done = true;" (assignment_expression "iter1.next_done = true" (field_expression "iter1.next_done" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_000205d5;" goto statement_identifier ;) })) (expression_statement "iVar8 = mbsinit((mbstate_t *)&iter1.state);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)&iter1.state)" identifier = (call_expression "mbsinit((mbstate_t *)&iter1.state)" identifier (argument_list "((mbstate_t *)&iter1.state)" ( (cast_expression "(mbstate_t *)&iter1.state" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iter1.state" & (field_expression "iter1.state" identifier . field_identifier))) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00020721;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020721;" goto statement_identifier ;)) (expression_statement "iter1.in_shift = true;" (assignment_expression "iter1.in_shift = true" (field_expression "iter1.in_shift" identifier . field_identifier) = true) ;) })) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar3 = iter1.cur.ptr;" (assignment_expression "pcVar3 = iter1.cur.ptr" identifier = (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier)) ;) (expression_statement "sVar7 = strnlen1(iter1.cur.ptr,sVar4);" (assignment_expression "sVar7 = strnlen1(iter1.cur.ptr,sVar4)" identifier = (call_expression "strnlen1(iter1.cur.ptr,sVar4)" identifier (argument_list "(iter1.cur.ptr,sVar4)" ( (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);" (assignment_expression "iter1.cur.bytes = rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state)" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = (call_expression "rpl_mbrtowc(&iter1.cur.wc,pcVar3,sVar7,&iter1.state)" identifier (argument_list "(&iter1.cur.wc,pcVar3,sVar7,&iter1.state)" ( (pointer_expression "&iter1.cur.wc" & (field_expression "iter1.cur.wc" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier)) , identifier , identifier , (pointer_expression "&iter1.state" & (field_expression "iter1.state" identifier . field_identifier)) )))) ;) (if_statement "if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }" if (parenthesized_expression "((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe))" ( (binary_expression "(iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)" (parenthesized_expression "(iter1.cur.bytes != 0xffffffff)" ( (binary_expression "iter1.cur.bytes != 0xffffffff" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) != number_literal) )) && (parenthesized_expression "(iter1.cur.bytes != 0xfffffffe)" ( (binary_expression "iter1.cur.bytes != 0xfffffffe" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) != number_literal) ))) )) (compound_statement "{\n                if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }\n                iter1.cur.wc_valid = true;\n                iVar8 = mbsinit((mbstate_t *)&iter1.state);\n                if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }\n                iter1.next_done = true;\n                goto LAB_000205d5;\n              }" { (if_statement "if (iter1.cur.bytes == 0) {\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }" if (parenthesized_expression "(iter1.cur.bytes == 0)" ( (binary_expression "iter1.cur.bytes == 0" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                  iter1.cur.bytes = 1;\n                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;\n                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;\n                }" { (expression_statement "iter1.cur.bytes = 1;" (assignment_expression "iter1.cur.bytes = 1" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (*iter1.cur.ptr != '\0') goto LAB_00020740;" if (parenthesized_expression "(*iter1.cur.ptr != '\0')" ( (binary_expression "*iter1.cur.ptr != '\0'" (pointer_expression "*iter1.cur.ptr" * (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00020740;" goto statement_identifier ;)) (if_statement "if (iter1.cur.wc != L'\0') goto LAB_0002075f;" if (parenthesized_expression "(iter1.cur.wc != L'\0')" ( (binary_expression "iter1.cur.wc != L'\0'" (field_expression "iter1.cur.wc" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) != (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_0002075f;" goto statement_identifier ;)) })) (expression_statement "iter1.cur.wc_valid = true;" (assignment_expression "iter1.cur.wc_valid = true" (field_expression "iter1.cur.wc_valid" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "iVar8 = mbsinit((mbstate_t *)&iter1.state);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)&iter1.state)" identifier = (call_expression "mbsinit((mbstate_t *)&iter1.state)" identifier (argument_list "((mbstate_t *)&iter1.state)" ( (cast_expression "(mbstate_t *)&iter1.state" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iter1.state" & (field_expression "iter1.state" identifier . field_identifier))) )))) ;) (if_statement "if (iVar8 != 0) {\n                  iter1.in_shift = false;\n                }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                  iter1.in_shift = false;\n                }" { (expression_statement "iter1.in_shift = false;" (assignment_expression "iter1.in_shift = false" (field_expression "iter1.in_shift" identifier . field_identifier) = false) ;) })) (expression_statement "iter1.next_done = true;" (assignment_expression "iter1.next_done = true" (field_expression "iter1.next_done" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_000205d5;" goto statement_identifier ;) })) }) (else_clause "else if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }" else (if_statement "if (iter1.cur.wc_valid != false) {\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }" if (parenthesized_expression "(iter1.cur.wc_valid != false)" ( (binary_expression "iter1.cur.wc_valid != false" (field_expression "iter1.cur.wc_valid" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) != false) )) (compound_statement "{\nLAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;\n            }" { (labeled_statement "LAB_000205d5:\n              if (iter1.cur.wc == L'\0') goto LAB_000205e1;" statement_identifier : (if_statement "if (iter1.cur.wc == L'\0') goto LAB_000205e1;" if (parenthesized_expression "(iter1.cur.wc == L'\0')" ( (binary_expression "iter1.cur.wc == L'\0'" (field_expression "iter1.cur.wc" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) == (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_000205e1;" goto statement_identifier ;))) })))) (goto_statement "goto LAB_000204e8;" goto statement_identifier ;) })) (if_statement "if (iter1.cur.wc_valid == false) goto LAB_000204e8;" if (parenthesized_expression "(iter1.cur.wc_valid == false)" ( (binary_expression "iter1.cur.wc_valid == false" (field_expression "iter1.cur.wc_valid" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) == false) )) (goto_statement "goto LAB_000204e8;" goto statement_identifier ;)) (expression_statement "wVar5 = towlower(iter1.cur.wc);" (assignment_expression "wVar5 = towlower(iter1.cur.wc)" identifier = (call_expression "towlower(iter1.cur.wc)" identifier (argument_list "(iter1.cur.wc)" ( (field_expression "iter1.cur.wc" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) )))) ;) (expression_statement "wVar6 = towlower(wVar13);" (assignment_expression "wVar6 = towlower(wVar13)" identifier = (call_expression "towlower(wVar13)" identifier (argument_list "(wVar13)" ( identifier )))) ;) (expression_statement "wVar13 = wVar5 - wVar6;" (assignment_expression "wVar13 = wVar5 - wVar6" identifier = (binary_expression "wVar5 - wVar6" identifier - identifier)) ;) }))) (if_statement "if (wVar13 != L'\0') goto LAB_000202ff;" if (parenthesized_expression "(wVar13 != L'\0')" ( (binary_expression "wVar13 != L'\0'" identifier != (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_000202ff;" goto statement_identifier ;)) (expression_statement "iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;" (assignment_expression "iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes" (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = (binary_expression "iter1.cur.ptr + iter1.cur.bytes" (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) + (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;" (assignment_expression "iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes" (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = (binary_expression "iter2.cur.ptr + iter2.cur.bytes" (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) + (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier))) ;) (goto_statement "goto LAB_000201f2;" goto statement_identifier ;) })) (if_statement "if ((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {\n        iVar8 = mbsinit((mbstate_t *)&iter1.state);\n        if (iVar8 == 0) goto LAB_00020721;\n        iter1.in_shift = true;\n        goto LAB_00020201;\n      }" if (parenthesized_expression "((*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0)" ( (binary_expression "(*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1) == 0" (parenthesized_expression "(*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1)" ( (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU) & 1" (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4) >>\n           (*iter1.cur.ptr & 0x1fU)" (pointer_expression "*(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4)" * (cast_expression "(uint *)(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4)" ( (binary_expression "is_basic_table + (uint)((byte)*iter1.cur.ptr >> 5) * 4" identifier + (binary_expression "(uint)((byte)*iter1.cur.ptr >> 5) * 4" (call_expression "(uint)((byte)*iter1.cur.ptr >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)*iter1.cur.ptr >> 5)" ( (binary_expression "(byte)*iter1.cur.ptr >> 5" (binary_expression "(byte)*iter1.cur.ptr" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier)) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*iter1.cur.ptr & 0x1fU)" ( (binary_expression "*iter1.cur.ptr & 0x1fU" (pointer_expression "*iter1.cur.ptr" * (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier)) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar8 = mbsinit((mbstate_t *)&iter1.state);\n        if (iVar8 == 0) goto LAB_00020721;\n        iter1.in_shift = true;\n        goto LAB_00020201;\n      }" { (expression_statement "iVar8 = mbsinit((mbstate_t *)&iter1.state);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)&iter1.state)" identifier = (call_expression "mbsinit((mbstate_t *)&iter1.state)" identifier (argument_list "((mbstate_t *)&iter1.state)" ( (cast_expression "(mbstate_t *)&iter1.state" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iter1.state" & (field_expression "iter1.state" identifier . field_identifier))) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00020721;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020721;" goto statement_identifier ;)) (expression_statement "iter1.in_shift = true;" (assignment_expression "iter1.in_shift = true" (field_expression "iter1.in_shift" identifier . field_identifier) = true) ;) (goto_statement "goto LAB_00020201;" goto statement_identifier ;) })) (expression_statement "iter1.cur.bytes = 1;" (assignment_expression "iter1.cur.bytes = 1" (field_expression "iter1.cur.bytes" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iter1.cur.wc = (wchar_t)*iter1.cur.ptr;" (assignment_expression "iter1.cur.wc = (wchar_t)*iter1.cur.ptr" (field_expression "iter1.cur.wc" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = (binary_expression "(wchar_t)*iter1.cur.ptr" (parenthesized_expression "(wchar_t)" ( identifier )) * (field_expression "iter1.cur.ptr" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "iter1.cur.wc_valid = true;" (assignment_expression "iter1.cur.wc_valid = true" (field_expression "iter1.cur.wc_valid" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) = true) ;) (labeled_statement "LAB_0002013d:\n      iter1.next_done = true;" statement_identifier : (expression_statement "iter1.next_done = true;" (assignment_expression "iter1.next_done = true" (field_expression "iter1.next_done" identifier . field_identifier) = true) ;)) (if_statement "if (iter1.cur.wc != L'\0') goto LAB_00020149;" if (parenthesized_expression "(iter1.cur.wc != L'\0')" ( (binary_expression "iter1.cur.wc != L'\0'" (field_expression "iter1.cur.wc" (field_expression "iter1.cur" identifier . field_identifier) . field_identifier) != (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_00020149;" goto statement_identifier ;)) (labeled_statement "LAB_000205e1:\n      if (iter2.next_done == false) {\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }\n      else if (iter2.cur.wc_valid != false) goto LAB_00020631;" statement_identifier : (if_statement "if (iter2.next_done == false) {\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }\n      else if (iter2.cur.wc_valid != false) goto LAB_00020631;" if (parenthesized_expression "(iter2.next_done == false)" ( (binary_expression "iter2.next_done == false" (field_expression "iter2.next_done" identifier . field_identifier) == false) )) (compound_statement "{\n        if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pcVar3 = iter2.cur.ptr;\n        sVar7 = strnlen1(iter2.cur.ptr,sVar4);\n        iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);\n        if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }\n      }" { (if_statement "if (iter2.in_shift == false) {\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }" if (parenthesized_expression "(iter2.in_shift == false)" ( (binary_expression "iter2.in_shift == false" (field_expression "iter2.in_shift" identifier . field_identifier) == false) )) (compound_statement "{\n          if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }\n          iVar8 = mbsinit((mbstate_t *)&iter2.state);\n          if (iVar8 == 0) {\nLAB_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }\n          iter2.in_shift = true;\n        }" { (if_statement "if ((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }" if (parenthesized_expression "((*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0)" ( (binary_expression "(*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1) != 0" (parenthesized_expression "(*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1)" ( (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU) & 1" (binary_expression "*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4) >>\n               (*iter2.cur.ptr & 0x1fU)" (pointer_expression "*(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4)" * (cast_expression "(uint *)(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4)" ( (binary_expression "is_basic_table + (uint)((byte)*iter2.cur.ptr >> 5) * 4" identifier + (binary_expression "(uint)((byte)*iter2.cur.ptr >> 5) * 4" (call_expression "(uint)((byte)*iter2.cur.ptr >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)*iter2.cur.ptr >> 5)" ( (binary_expression "(byte)*iter2.cur.ptr >> 5" (binary_expression "(byte)*iter2.cur.ptr" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*iter2.cur.ptr & 0x1fU)" ( (binary_expression "*iter2.cur.ptr & 0x1fU" (pointer_expression "*iter2.cur.ptr" * (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n            iter2.cur.bytes = 1;\n            iter2.cur.wc = (wchar_t)*iter2.cur.ptr;\n            iter2.cur.wc_valid = true;\n            goto LAB_00020631;\n          }" { (expression_statement "iter2.cur.bytes = 1;" (assignment_expression "iter2.cur.bytes = 1" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iter2.cur.wc = (wchar_t)*iter2.cur.ptr;" (assignment_expression "iter2.cur.wc = (wchar_t)*iter2.cur.ptr" (field_expression "iter2.cur.wc" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = (binary_expression "(wchar_t)*iter2.cur.ptr" (parenthesized_expression "(wchar_t)" ( identifier )) * (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier))) ;) (expression_statement "iter2.cur.wc_valid = true;" (assignment_expression "iter2.cur.wc_valid = true" (field_expression "iter2.cur.wc_valid" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = true) ;) (goto_statement "goto LAB_00020631;" goto statement_identifier ;) })) (expression_statement "iVar8 = mbsinit((mbstate_t *)&iter2.state);" (assignment_expression "iVar8 = mbsinit((mbstate_t *)&iter2.state)" identifier = (call_expression "mbsinit((mbstate_t *)&iter2.state)" identifier (argument_list "((mbstate_t *)&iter2.state)" ( (cast_expression "(mbstate_t *)&iter2.state" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iter2.state" & (field_expression "iter2.state" identifier . field_identifier))) )))) ;) (if_statement "if (iVar8 == 0) {\nLAB_00020721:\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_00020721:\n                    /* WARNING: Subroutine does not return */\n            __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n          }" { (labeled_statement "LAB_00020721:\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 "iter2.in_shift = true;" (assignment_expression "iter2.in_shift = true" (field_expression "iter2.in_shift" identifier . field_identifier) = true) ;) })) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar3 = iter2.cur.ptr;" (assignment_expression "pcVar3 = iter2.cur.ptr" identifier = (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) ;) (expression_statement "sVar7 = strnlen1(iter2.cur.ptr,sVar4);" (assignment_expression "sVar7 = strnlen1(iter2.cur.ptr,sVar4)" identifier = (call_expression "strnlen1(iter2.cur.ptr,sVar4)" identifier (argument_list "(iter2.cur.ptr,sVar4)" ( (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);" (assignment_expression "iter2.cur.bytes = rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state)" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = (call_expression "rpl_mbrtowc(&iter2.cur.wc,pcVar3,sVar7,&iter2.state)" identifier (argument_list "(&iter2.cur.wc,pcVar3,sVar7,&iter2.state)" ( (pointer_expression "&iter2.cur.wc" & (field_expression "iter2.cur.wc" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) , identifier , identifier , (pointer_expression "&iter2.state" & (field_expression "iter2.state" identifier . field_identifier)) )))) ;) (if_statement "if (1 < iter2.cur.bytes + 2) {\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }" if (parenthesized_expression "(1 < iter2.cur.bytes + 2)" ( (binary_expression "1 < iter2.cur.bytes + 2" number_literal < (binary_expression "iter2.cur.bytes + 2" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) + number_literal)) )) (compound_statement "{\n          if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }\n          iter2.cur.wc_valid = true;\nLAB_00020631:\n          wVar13 = iter2.cur.wc;\n          if (iter2.cur.wc != L'\0') goto LAB_00020640;\n          goto LAB_000202ff;\n        }" { (if_statement "if (iter2.cur.bytes == 0) {\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }" if (parenthesized_expression "(iter2.cur.bytes == 0)" ( (binary_expression "iter2.cur.bytes == 0" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n            iter2.cur.bytes = 1;\n            if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (iter2.cur.wc != L'\0') goto LAB_0002075f;\n          }" { (expression_statement "iter2.cur.bytes = 1;" (assignment_expression "iter2.cur.bytes = 1" (field_expression "iter2.cur.bytes" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (*iter2.cur.ptr != '\0') {\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }" if (parenthesized_expression "(*iter2.cur.ptr != '\0')" ( (binary_expression "*iter2.cur.ptr != '\0'" (pointer_expression "*iter2.cur.ptr" * (field_expression "iter2.cur.ptr" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00020740:\n                    /* WARNING: Subroutine does not return */\n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }" { (labeled_statement "LAB_00020740:\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 (iter2.cur.wc != L'\0') goto LAB_0002075f;" if (parenthesized_expression "(iter2.cur.wc != L'\0')" ( (binary_expression "iter2.cur.wc != L'\0'" (field_expression "iter2.cur.wc" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) != (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_0002075f;" goto statement_identifier ;)) })) (expression_statement "iter2.cur.wc_valid = true;" (assignment_expression "iter2.cur.wc_valid = true" (field_expression "iter2.cur.wc_valid" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) = true) ;) (labeled_statement "LAB_00020631:\n          wVar13 = iter2.cur.wc;" statement_identifier : (expression_statement "wVar13 = iter2.cur.wc;" (assignment_expression "wVar13 = iter2.cur.wc" identifier = (field_expression "iter2.cur.wc" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier)) ;)) (if_statement "if (iter2.cur.wc != L'\0') goto LAB_00020640;" if (parenthesized_expression "(iter2.cur.wc != L'\0')" ( (binary_expression "iter2.cur.wc != L'\0'" (field_expression "iter2.cur.wc" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) != (char_literal "L'\0'" L' escape_sequence ')) )) (goto_statement "goto LAB_00020640;" goto statement_identifier ;)) (goto_statement "goto LAB_000202ff;" goto statement_identifier ;) })) }) (else_clause "else if (iter2.cur.wc_valid != false) goto LAB_00020631;" else (if_statement "if (iter2.cur.wc_valid != false) goto LAB_00020631;" if (parenthesized_expression "(iter2.cur.wc_valid != false)" ( (binary_expression "iter2.cur.wc_valid != false" (field_expression "iter2.cur.wc_valid" (field_expression "iter2.cur" identifier . field_identifier) . field_identifier) != false) )) (goto_statement "goto LAB_00020631;" goto statement_identifier ;))))) (labeled_statement "LAB_00020640:\n      wVar13 = L'\xffffffff';" statement_identifier : (expression_statement "wVar13 = L'\xffffffff';" (assignment_expression "wVar13 = L'\xffffffff'" identifier = (char_literal "L'\xffffffff'" L' escape_sequence character character character character ')) ;)) (goto_statement "goto LAB_000202ff;" goto statement_identifier ;) })) (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2 = *ppuVar9;" (assignment_expression "puVar2 = *ppuVar9" identifier = (pointer_expression "*ppuVar9" * identifier)) ;) (do_statement "do {\n      bVar11 = *s1;\n      if ((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)(byte)*s2;\n      if ((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar14 = 0;\n        goto LAB_000202fb;\n      }\n      s1 = (char *)((byte *)s1 + 1);\n      s2 = (char *)((byte *)s2 + 1);\n    } while (bVar11 == (byte)uVar12);" do (compound_statement "{\n      bVar11 = *s1;\n      if ((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)(byte)*s2;\n      if ((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar14 = 0;\n        goto LAB_000202fb;\n      }\n      s1 = (char *)((byte *)s1 + 1);\n      s2 = (char *)((byte *)s2 + 1);\n    }" { (expression_statement "bVar11 = *s1;" (assignment_expression "bVar11 = *s1" identifier = (pointer_expression "*s1" * identifier)) ;) (if_statement "if ((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }" if (parenthesized_expression "((*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0)" ( (binary_expression "(*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1)" ( (binary_expression "*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1) & 1" (pointer_expression "*(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1)" * (cast_expression "(byte *)((int)puVar2 + (uint)bVar11 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + (uint)bVar11 * 2 + 1)" ( (binary_expression "(int)puVar2 + (uint)bVar11 * 2 + 1" (binary_expression "(int)puVar2 + (uint)bVar11 * 2" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar11 * 2" (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }" { (expression_statement "pp_Var10 = __ctype_tolower_loc();" (assignment_expression "pp_Var10 = __ctype_tolower_loc()" identifier = (call_expression "__ctype_tolower_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar11 = *(byte *)(*pp_Var10 + bVar11);" (assignment_expression "bVar11 = *(byte *)(*pp_Var10 + bVar11)" identifier = (pointer_expression "*(byte *)(*pp_Var10 + bVar11)" * (cast_expression "(byte *)(*pp_Var10 + bVar11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*pp_Var10 + bVar11)" ( (binary_expression "*pp_Var10 + bVar11" (pointer_expression "*pp_Var10" * identifier) + identifier) ))))) ;) })) (expression_statement "uVar12 = (uint)(byte)*s2;" (assignment_expression "uVar12 = (uint)(byte)*s2" identifier = (binary_expression "(uint)(byte)*s2" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if ((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }" if (parenthesized_expression "((*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0)" ( (binary_expression "(*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1)" ( (binary_expression "*(byte *)((int)puVar2 + uVar12 * 2 + 1) & 1" (pointer_expression "*(byte *)((int)puVar2 + uVar12 * 2 + 1)" * (cast_expression "(byte *)((int)puVar2 + uVar12 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + uVar12 * 2 + 1)" ( (binary_expression "(int)puVar2 + uVar12 * 2 + 1" (binary_expression "(int)puVar2 + uVar12 * 2" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar12 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }" { (expression_statement "pp_Var10 = __ctype_tolower_loc();" (assignment_expression "pp_Var10 = __ctype_tolower_loc()" identifier = (call_expression "__ctype_tolower_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);" (assignment_expression "uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12)" identifier = (binary_expression "(uint)*(byte *)(*pp_Var10 + uVar12)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*pp_Var10 + uVar12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*pp_Var10 + uVar12)" ( (binary_expression "*pp_Var10 + uVar12" (pointer_expression "*pp_Var10" * identifier) + identifier) ))))) ;) })) (if_statement "if (bVar11 == 0) {\n        uVar14 = 0;\n        goto LAB_000202fb;\n      }" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar14 = 0;\n        goto LAB_000202fb;\n      }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000202fb;" goto statement_identifier ;) })) (expression_statement "s1 = (char *)((byte *)s1 + 1);" (assignment_expression "s1 = (char *)((byte *)s1 + 1)" identifier = (cast_expression "(char *)((byte *)s1 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)s1 + 1)" ( (binary_expression "(byte *)s1 + 1" (cast_expression "(byte *)s1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "s2 = (char *)((byte *)s2 + 1);" (assignment_expression "s2 = (char *)((byte *)s2 + 1)" identifier = (cast_expression "(char *)((byte *)s2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)s2 + 1)" ( (binary_expression "(byte *)s2 + 1" (cast_expression "(byte *)s2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar11 == (byte)uVar12)" ( (binary_expression "bVar11 == (byte)uVar12" identifier == (cast_expression "(byte)uVar12" ( (type_descriptor "byte" type_identifier) ) identifier)) )) ;) (expression_statement "uVar14 = (uint)bVar11;" (assignment_expression "uVar14 = (uint)bVar11" identifier = (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (labeled_statement "LAB_000202fb:\n    wVar13 = uVar14 - uVar12;" statement_identifier : (expression_statement "wVar13 = uVar14 - uVar12;" (assignment_expression "wVar13 = uVar14 - uVar12" identifier = (binary_expression "uVar14 - uVar12" identifier - identifier)) ;)) }))) (labeled_statement "LAB_000202ff:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar13;\n  }" statement_identifier : (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar13;\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 wVar13;\n  }" { (return_statement "return wVar13;" return identifier ;) }))) (labeled_statement "LAB_00020764:\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();" statement_identifier : comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;)) })))
(translation_unit "wint_t FUN_00020070(byte *param_1,byte *param_2)\n\n{\n  ushort *puVar1;\n  bool bVar2;\n  byte *pbVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  undefined4 uVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  uint uVar13;\n  int in_GS_OFFSET;\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  char local_4c;\n  byte *local_48;\n  uint local_44;\n  char local_40;\n  wint_t local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x20079;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }\nLAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }\nLAB_00020764:\n                    \n  FUN_0003b430();\n}\n\n" (function_definition "wint_t FUN_00020070(byte *param_1,byte *param_2)\n\n{\n  ushort *puVar1;\n  bool bVar2;\n  byte *pbVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  undefined4 uVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  uint uVar13;\n  int in_GS_OFFSET;\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  char local_4c;\n  byte *local_48;\n  uint local_44;\n  char local_40;\n  wint_t local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x20079;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }\nLAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }\nLAB_00020764:\n                    \n  FUN_0003b430();\n}" type_identifier (function_declarator "FUN_00020070(byte *param_1,byte *param_2)" identifier (parameter_list "(byte *param_1,byte *param_2)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  ushort *puVar1;\n  bool bVar2;\n  byte *pbVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  undefined4 uVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  uint uVar13;\n  int in_GS_OFFSET;\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  char local_4c;\n  byte *local_48;\n  uint local_44;\n  char local_40;\n  wint_t local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x20079;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }\nLAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }\nLAB_00020764:\n                    \n  FUN_0003b430();\n}" { (declaration "ushort *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "wint_t wVar5;" type_identifier identifier ;) (declaration "wint_t wVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "ushort **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "__int32_t **pp_Var10;" type_identifier (pointer_declarator "**pp_Var10" * (pointer_declarator "*pp_Var10" * identifier)) ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" 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 "char local_4c;" primitive_type identifier ;) (declaration "byte *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "char local_40;" primitive_type identifier ;) (declaration "wint_t local_3c [7];" type_identifier (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 = 0x20079;" (assignment_expression "uStack_14 = 0x20079" 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) ))))) ;) (if_statement "if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }" if (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) (compound_statement "{\n    wVar5 = 0;\n  }" { (expression_statement "wVar5 = 0;" (assignment_expression "wVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }" else (compound_statement "{\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }" { (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" identifier = (call_expression "__ctype_get_mb_cur_max()" identifier (argument_list "()" ( )))) ;) (if_statement "if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }" if (parenthesized_expression "(1 < sVar4)" ( (binary_expression "1 < sVar4" number_literal < identifier) )) (compound_statement "{\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }" { (expression_statement "local_48 = param_2;" (assignment_expression "local_48 = param_2" identifier = identifier) ;) (expression_statement "local_80 = param_1;" (assignment_expression "local_80 = param_1" identifier = 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_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) ;) (labeled_statement "LAB_000201f2:\n      local_4c = '\0';" statement_identifier : (expression_statement "local_4c = '\0';" (assignment_expression "local_4c = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }" { (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }" if (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" ( (binary_expression "&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0003ed60" & 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) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\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) goto LAB_00020721;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020721;" goto statement_identifier ;)) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_00020201;" goto statement_identifier ;) })) (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 ')) ;) (labeled_statement "LAB_0002013d:\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 (local_74[0] != 0) goto LAB_00020149;" 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_00020149;" goto statement_identifier ;)) (labeled_statement "LAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;" statement_identifier : (if_statement "if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;" if (parenthesized_expression "(local_4c == '\0')" ( (binary_expression "local_4c == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }" { (if_statement "if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }" if (parenthesized_expression "(local_58 == '\0')" ( (binary_expression "local_58 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }" { (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }" if (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0)" ( (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" ( (binary_expression "&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4" (pointer_expression "&DAT_0003ed60" & 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              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (expression_statement "local_3c[0] = (wint_t)(char)*local_48;" (assignment_expression "local_3c[0] = (wint_t)(char)*local_48" (subscript_expression "local_3c[0]" identifier [ number_literal ]) = (binary_expression "(wint_t)(char)*local_48" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_00020631;" goto statement_identifier ;) })) (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) {\nLAB_00020721:\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_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }" { (labeled_statement "LAB_00020721:\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 "local_58 = '\x01';" (assignment_expression "local_58 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __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_00023020(local_48,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_48,sVar4)" identifier = (call_expression "FUN_00023020(local_48,sVar4)" identifier (argument_list "(local_48,sVar4)" ( identifier , identifier )))) ;) (expression_statement "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);" (assignment_expression "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54)" identifier = (call_expression "FUN_00027600(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 + 2 < 2) goto LAB_00020640;" if (parenthesized_expression "(local_44 + 2 < 2)" ( (binary_expression "local_44 + 2 < 2" (binary_expression "local_44 + 2" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_00020640;" goto statement_identifier ;)) (if_statement "if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\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) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (if_statement "if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }" if (parenthesized_expression "(*local_48 != 0)" ( (binary_expression "*local_48 != 0" (pointer_expression "*local_48" * identifier) != number_literal) )) (compound_statement "{\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }" { (labeled_statement "LAB_00020740:\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_3c[0] != 0) goto LAB_0002075f;" 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_0002075f;" goto statement_identifier ;)) })) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_00020631:\n          wVar5 = local_3c[0];" statement_identifier : (expression_statement "wVar5 = local_3c[0];" (assignment_expression "wVar5 = local_3c[0]" identifier = (subscript_expression "local_3c[0]" identifier [ number_literal ])) ;)) (if_statement "if (local_3c[0] == 0) goto LAB_000202ff;" 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_000202ff;" goto statement_identifier ;)) }) (else_clause "else if (local_40 != '\0') goto LAB_00020631;" else (if_statement "if (local_40 != '\0') goto LAB_00020631;" if (parenthesized_expression "(local_40 != '\0')" ( (binary_expression "local_40 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00020631;" goto statement_identifier ;))))) (labeled_statement "LAB_00020640:\n        wVar5 = 0xffffffff;" statement_identifier : (expression_statement "wVar5 = 0xffffffff;" (assignment_expression "wVar5 = 0xffffffff" identifier = number_literal) ;)) (goto_statement "goto LAB_000202ff;" goto statement_identifier ;) })) (labeled_statement "LAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();" statement_identifier : (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __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_00023020(local_80,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_80,sVar4)" identifier = (call_expression "FUN_00023020(local_80,sVar4)" identifier (argument_list "(local_80,sVar4)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00027600(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        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }" if (parenthesized_expression "(local_7c != 0xffffffff)" ( (binary_expression "local_7c != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }" { (if_statement "if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\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          goto LAB_00020149;\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 ')) ;) (goto_statement "goto LAB_00020149;" goto statement_identifier ;) })) (if_statement "if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }" if (parenthesized_expression "(local_7c != 0)" ( (binary_expression "local_7c != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }" { (labeled_statement "LAB_00020262:\n          local_78 = '\x01';" 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_0002013d;" goto statement_identifier ;) })) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) goto LAB_00020740;" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (goto_statement "goto LAB_00020740;" goto statement_identifier ;)) (if_statement "if (local_74[0] == 0) goto LAB_00020262;" 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_00020262;" goto statement_identifier ;)) (labeled_statement "LAB_0002075f:\n        FUN_00020040();" statement_identifier : (expression_statement "FUN_00020040();" (call_expression "FUN_00020040()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_00020764;" goto statement_identifier ;) })) (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 ')) ;) (labeled_statement "LAB_00020149:\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 (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }" if (parenthesized_expression "(local_4c == '\0')" ( (binary_expression "local_4c == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }" { (if_statement "if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }" if (parenthesized_expression "(local_58 == '\0')" ( (binary_expression "local_58 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }" { (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }" if (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             )" ( (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" ( (binary_expression "&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4" (pointer_expression "&DAT_0003ed60" & 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            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (expression_statement "local_3c[0] = (wint_t)(char)*local_48;" (assignment_expression "local_3c[0] = (wint_t)(char)*local_48" (subscript_expression "local_3c[0]" identifier [ number_literal ]) = (binary_expression "(wint_t)(char)*local_48" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0002019c;" goto statement_identifier ;) })) (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) goto LAB_00020721;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020721;" goto statement_identifier ;)) (expression_statement "local_58 = '\x01';" (assignment_expression "local_58 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __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_00023020(local_48,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_48,sVar4)" identifier = (call_expression "FUN_00023020(local_48,sVar4)" identifier (argument_list "(local_48,sVar4)" ( identifier , identifier )))) ;) (expression_statement "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);" (assignment_expression "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54)" identifier = (call_expression "FUN_00027600(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          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\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          local_4c = '\x01';\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 = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }) (else_clause "else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\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_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }" { (if_statement "if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\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_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }" { (if_statement "if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\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_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }" { (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" identifier = number_literal) ;) (if_statement "if (*local_48 != 0) goto LAB_00020740;" if (parenthesized_expression "(*local_48 != 0)" ( (binary_expression "*local_48 != 0" (pointer_expression "*local_48" * identifier) != number_literal) )) (goto_statement "goto LAB_00020740;" goto statement_identifier ;)) (if_statement "if (local_3c[0] != 0) goto LAB_0002075f;" 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_0002075f;" goto statement_identifier ;)) })) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (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 = '\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 ')) ;) })) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0002019c;" 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 = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (labeled_statement "LAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;" statement_identifier : (if_statement "if (local_78 != '\0') goto LAB_00020640;" if (parenthesized_expression "(local_78 != '\0')" ( (binary_expression "local_78 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00020640;" goto statement_identifier ;))) (if_statement "if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }" if (parenthesized_expression "(local_7c != local_44)" ( (binary_expression "local_7c != local_44" identifier != identifier) )) (compound_statement "{\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }" { (if_statement "if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }" if (parenthesized_expression "(local_7c < local_44)" ( (binary_expression "local_7c < local_44" identifier < identifier) )) (compound_statement "{\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }" { (expression_statement "iVar8 = memcmp(local_80,local_48,local_7c);" (assignment_expression "iVar8 = memcmp(local_80,local_48,local_7c)" identifier = (call_expression "memcmp(local_80,local_48,local_7c)" identifier (argument_list "(local_80,local_48,local_7c)" ( identifier , identifier , identifier )))) ;) (if_statement "if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }" if (parenthesized_expression "(0 < iVar8)" ( (binary_expression "0 < iVar8" number_literal < identifier) )) (compound_statement "{\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }" { (labeled_statement "LAB_000204e8:\n              wVar5 = 1;" statement_identifier : (expression_statement "wVar5 = 1;" (assignment_expression "wVar5 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_000202ff;" goto statement_identifier ;) })) }) (else_clause "else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }" else (compound_statement "{\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }" { (expression_statement "iVar8 = memcmp(local_80,local_48,local_44);" (assignment_expression "iVar8 = memcmp(local_80,local_48,local_44)" identifier = (call_expression "memcmp(local_80,local_48,local_44)" identifier (argument_list "(local_80,local_48,local_44)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < iVar8) goto LAB_000204e8;" if (parenthesized_expression "(-1 < iVar8)" ( (binary_expression "-1 < iVar8" number_literal < identifier) )) (goto_statement "goto LAB_000204e8;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_00020640;" goto statement_identifier ;) })) (expression_statement "wVar5 = memcmp(local_80,local_48,local_7c);" (assignment_expression "wVar5 = memcmp(local_80,local_48,local_7c)" identifier = (call_expression "memcmp(local_80,local_48,local_7c)" identifier (argument_list "(local_80,local_48,local_7c)" ( identifier , identifier , identifier )))) ;) }) (else_clause "else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }" else (compound_statement "{\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }" { (if_statement "if (local_40 == '\0') goto LAB_000203d3;" if (parenthesized_expression "(local_40 == '\0')" ( (binary_expression "local_40 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000203d3;" goto statement_identifier ;)) (labeled_statement "LAB_0002019c:\n        wVar6 = local_3c[0];" statement_identifier : (expression_statement "wVar6 = local_3c[0];" (assignment_expression "wVar6 = local_3c[0]" identifier = (subscript_expression "local_3c[0]" identifier [ number_literal ])) ;)) (if_statement "if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\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 "{\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }" { (if_statement "if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\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_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }" { (if_statement "if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }" { (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }" if (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0)" ( (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" ( (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" * (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" ( (binary_expression "&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0003ed60" & 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_000205d5;\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_000205d5;" 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_00020721;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020721;" goto statement_identifier ;)) })) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __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_00023020(local_80,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_80,sVar4)" identifier = (call_expression "FUN_00023020(local_80,sVar4)" identifier (argument_list "(local_80,sVar4)" ( identifier , identifier )))) ;) (expression_statement "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c)" identifier = (call_expression "FUN_00027600(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) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }" if (parenthesized_expression "((local_7c != 0xffffffff) && (local_7c != 0xfffffffe))" ( (binary_expression "(local_7c != 0xffffffff) && (local_7c != 0xfffffffe)" (parenthesized_expression "(local_7c != 0xffffffff)" ( (binary_expression "local_7c != 0xffffffff" identifier != number_literal) )) && (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_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }" { (if_statement "if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\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_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }" { (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (if_statement "if (*local_80 != 0) goto LAB_00020740;" if (parenthesized_expression "(*local_80 != 0)" ( (binary_expression "*local_80 != 0" (pointer_expression "*local_80" * identifier) != number_literal) )) (goto_statement "goto LAB_00020740;" goto statement_identifier ;)) (if_statement "if (local_74[0] != 0) goto LAB_0002075f;" 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_0002075f;" 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) ))) ;) (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000205d5;" goto statement_identifier ;) })) }) (else_clause "else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }" else (if_statement "if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }" if (parenthesized_expression "(local_78 != '\0')" ( (binary_expression "local_78 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }" { (labeled_statement "LAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;" statement_identifier : (if_statement "if (local_74[0] == 0) goto LAB_000205e1;" 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_000205e1;" goto statement_identifier ;))) })))) (goto_statement "goto LAB_000204e8;" goto statement_identifier ;) })) (if_statement "if (local_78 == '\0') goto LAB_000204e8;" if (parenthesized_expression "(local_78 == '\0')" ( (binary_expression "local_78 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000204e8;" goto statement_identifier ;)) (expression_statement "wVar5 = towlower(local_74[0]);" (assignment_expression "wVar5 = towlower(local_74[0])" identifier = (call_expression "towlower(local_74[0])" identifier (argument_list "(local_74[0])" ( (subscript_expression "local_74[0]" identifier [ number_literal ]) )))) ;) (expression_statement "wVar6 = towlower(wVar6);" (assignment_expression "wVar6 = towlower(wVar6)" identifier = (call_expression "towlower(wVar6)" identifier (argument_list "(wVar6)" ( identifier )))) ;) (expression_statement "wVar5 = wVar5 - wVar6;" (assignment_expression "wVar5 = wVar5 - wVar6" identifier = (binary_expression "wVar5 - wVar6" identifier - identifier)) ;) }))) (if_statement "if (wVar5 != 0) goto LAB_000202ff;" if (parenthesized_expression "(wVar5 != 0)" ( (binary_expression "wVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000202ff;" 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_48 = local_48 + local_44;" (assignment_expression "local_48 = local_48 + local_44" identifier = (binary_expression "local_48 + local_44" identifier + identifier)) ;) (goto_statement "goto LAB_000201f2;" goto statement_identifier ;) })) (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar1 = *ppuVar9;" (assignment_expression "puVar1 = *ppuVar9" identifier = (pointer_expression "*ppuVar9" * identifier)) ;) (do_statement "do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);" do (compound_statement "{\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    }" { (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }" if (parenthesized_expression "((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0)" ( (binary_expression "(*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1)" ( (binary_expression "*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1" (pointer_expression "*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1)" * (cast_expression "(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + (uint)bVar11 * 2 + 1)" ( (binary_expression "(int)puVar1 + (uint)bVar11 * 2 + 1" (binary_expression "(int)puVar1 + (uint)bVar11 * 2" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar11 * 2" (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }" { (expression_statement "pp_Var10 = __ctype_tolower_loc();" (assignment_expression "pp_Var10 = __ctype_tolower_loc()" identifier = (call_expression "__ctype_tolower_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar11 = *(byte *)(*pp_Var10 + bVar11);" (assignment_expression "bVar11 = *(byte *)(*pp_Var10 + bVar11)" identifier = (pointer_expression "*(byte *)(*pp_Var10 + bVar11)" * (cast_expression "(byte *)(*pp_Var10 + bVar11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*pp_Var10 + bVar11)" ( (binary_expression "*pp_Var10 + bVar11" (pointer_expression "*pp_Var10" * identifier) + identifier) ))))) ;) })) (expression_statement "uVar12 = (uint)*param_2;" (assignment_expression "uVar12 = (uint)*param_2" identifier = (binary_expression "(uint)*param_2" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }" if (parenthesized_expression "((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0)" ( (binary_expression "(*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1)" ( (binary_expression "*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1" (pointer_expression "*(byte *)((int)puVar1 + uVar12 * 2 + 1)" * (cast_expression "(byte *)((int)puVar1 + uVar12 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + uVar12 * 2 + 1)" ( (binary_expression "(int)puVar1 + uVar12 * 2 + 1" (binary_expression "(int)puVar1 + uVar12 * 2" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar12 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }" { (expression_statement "pp_Var10 = __ctype_tolower_loc();" (assignment_expression "pp_Var10 = __ctype_tolower_loc()" identifier = (call_expression "__ctype_tolower_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);" (assignment_expression "uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12)" identifier = (binary_expression "(uint)*(byte *)(*pp_Var10 + uVar12)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*pp_Var10 + uVar12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*pp_Var10 + uVar12)" ( (binary_expression "*pp_Var10 + uVar12" (pointer_expression "*pp_Var10" * identifier) + identifier) ))))) ;) })) (if_statement "if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000202fb;" goto statement_identifier ;) })) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11 == (byte)uVar12)" ( (binary_expression "bVar11 == (byte)uVar12" identifier == (cast_expression "(byte)uVar12" ( (type_descriptor "byte" type_identifier) ) identifier)) )) ;) (expression_statement "uVar13 = (uint)bVar11;" (assignment_expression "uVar13 = (uint)bVar11" identifier = (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (labeled_statement "LAB_000202fb:\n    wVar5 = uVar13 - uVar12;" statement_identifier : (expression_statement "wVar5 = uVar13 - uVar12;" (assignment_expression "wVar5 = uVar13 - uVar12" identifier = (binary_expression "uVar13 - uVar12" identifier - identifier)) ;)) }))) (labeled_statement "LAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\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    return wVar5;\n  }" { (return_statement "return wVar5;" return identifier ;) }))) (labeled_statement "LAB_00020764:\n                    \n  FUN_0003b430();" statement_identifier : (expression_statement "FUN_0003b430();" (call_expression "FUN_0003b430()" identifier (argument_list "()" ( ))) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * 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 (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (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) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;)) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (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 = (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) ;) (goto_statement goto statement_identifier ;) })) (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 ')) ;) (labeled_statement statement_identifier : (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 : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (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 = 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 ')) ;) (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) )) (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 = (char_literal ' escape_sequence ')) ;) })) (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 (binary_expression IDENT + LIT) < 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 ')) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (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 { (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 ')) ;) (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 (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 = 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 (call_expression IDENT (argument_list ( ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (labeled_statement statement_identifier : (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 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 = 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 = (char_literal ' escape_sequence ')) ;) })) (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 ')) ;) (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 = (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 ( (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 ')) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (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 = (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 (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (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 (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) }) (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) )) (goto_statement goto statement_identifier ;))) })))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) }))) (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 = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })))
(function_definition "wint_t FUN_00020070(byte *param_1,byte *param_2)\n\n{\n  ushort *puVar1;\n  bool bVar2;\n  byte *pbVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  undefined4 uVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  uint uVar13;\n  int in_GS_OFFSET;\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  char local_4c;\n  byte *local_48;\n  uint local_44;\n  char local_40;\n  wint_t local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x20079;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }\nLAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }\nLAB_00020764:\n                    \n  FUN_0003b430();\n}" (type_identifier "wint_t") (function_declarator "FUN_00020070(byte *param_1,byte *param_2)" (identifier "FUN_00020070") (parameter_list "(byte *param_1,byte *param_2)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  ushort *puVar1;\n  bool bVar2;\n  byte *pbVar3;\n  size_t sVar4;\n  wint_t wVar5;\n  wint_t wVar6;\n  undefined4 uVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  __int32_t **pp_Var10;\n  byte bVar11;\n  uint uVar12;\n  uint uVar13;\n  int in_GS_OFFSET;\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  char local_4c;\n  byte *local_48;\n  uint local_44;\n  char local_40;\n  wint_t local_3c [7];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x20079;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }\nLAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }\nLAB_00020764:\n                    \n  FUN_0003b430();\n}" ({ "{") (declaration "ushort *puVar1;" (type_identifier "ushort") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "byte *pbVar3;" (type_identifier "byte") (pointer_declarator "*pbVar3" (* "*") (identifier "pbVar3")) (; ";")) (declaration "size_t sVar4;" (primitive_type "size_t") (identifier "sVar4") (; ";")) (declaration "wint_t wVar5;" (type_identifier "wint_t") (identifier "wVar5") (; ";")) (declaration "wint_t wVar6;" (type_identifier "wint_t") (identifier "wVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "ushort **ppuVar9;" (type_identifier "ushort") (pointer_declarator "**ppuVar9" (* "*") (pointer_declarator "*ppuVar9" (* "*") (identifier "ppuVar9"))) (; ";")) (declaration "__int32_t **pp_Var10;" (type_identifier "__int32_t") (pointer_declarator "**pp_Var10" (* "*") (pointer_declarator "*pp_Var10" (* "*") (identifier "pp_Var10"))) (; ";")) (declaration "byte bVar11;" (type_identifier "byte") (identifier "bVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (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 "char local_4c;" (primitive_type "char") (identifier "local_4c") (; ";")) (declaration "byte *local_48;" (type_identifier "byte") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "char local_40;" (primitive_type "char") (identifier "local_40") (; ";")) (declaration "wint_t local_3c [7];" (type_identifier "wint_t") (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 = 0x20079;" (assignment_expression "uStack_14 = 0x20079" (identifier "uStack_14") (= "=") (number_literal "0x20079")) (; ";")) (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")) () ")"))))) (; ";")) (if_statement "if (param_1 == param_2) {\n    wVar5 = 0;\n  }\n  else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }" (if "if") (parenthesized_expression "(param_1 == param_2)" (( "(") (binary_expression "param_1 == param_2" (identifier "param_1") (== "==") (identifier "param_2")) () ")")) (compound_statement "{\n    wVar5 = 0;\n  }" ({ "{") (expression_statement "wVar5 = 0;" (assignment_expression "wVar5 = 0" (identifier "wVar5") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }" (else "else") (compound_statement "{\n    sVar4 = __ctype_get_mb_cur_max();\n    if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }\n    ppuVar9 = __ctype_b_loc();\n    puVar1 = *ppuVar9;\n    do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);\n    uVar13 = (uint)bVar11;\nLAB_000202fb:\n    wVar5 = uVar13 - uVar12;\n  }" ({ "{") (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" (identifier "sVar4") (= "=") (call_expression "__ctype_get_mb_cur_max()" (identifier "__ctype_get_mb_cur_max") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (1 < sVar4) {\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }" (if "if") (parenthesized_expression "(1 < sVar4)" (( "(") (binary_expression "1 < sVar4" (number_literal "1") (< "<") (identifier "sVar4")) () ")")) (compound_statement "{\n      local_48 = param_2;\n      local_80 = param_1;\n      bVar2 = false;\n      local_8c.__count = 0;\n      local_8c.__value.__wch = 0;\n      local_58 = '\0';\n      local_54.__count = 0;\n      local_54.__value.__wch = 0;\nLAB_000201f2:\n      local_4c = '\0';\n      local_84 = '\0';\n      if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }\nLAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();\n      pbVar3 = local_80;\n      uVar7 = FUN_00023020(local_80,sVar4);\n      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n      if (local_7c != 0xffffffff) {\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }\n      local_7c = 1;\n      local_78 = '\0';\nLAB_00020149:\n      local_84 = '\x01';\n      if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }\n      if (wVar5 != 0) goto LAB_000202ff;\n      local_80 = local_80 + local_7c;\n      local_48 = local_48 + local_44;\n      goto LAB_000201f2;\n    }" ({ "{") (expression_statement "local_48 = param_2;" (assignment_expression "local_48 = param_2" (identifier "local_48") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_80 = param_1;" (assignment_expression "local_80 = param_1" (identifier "local_80") (= "=") (identifier "param_1")) (; ";")) (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_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")) (; ";")) (labeled_statement "LAB_000201f2:\n      local_4c = '\0';" (statement_identifier "LAB_000201f2") (: ":") (expression_statement "local_4c = '\0';" (assignment_expression "local_4c = '\0'" (identifier "local_4c") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (expression_statement "local_84 = '\0';" (assignment_expression "local_84 = '\0'" (identifier "local_84") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (!bVar2) {\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }\n        local_7c = 1;\n        local_74[0] = (wint_t)(char)*local_80;\n        local_78 = '\x01';\nLAB_0002013d:\n        local_84 = '\x01';\n        if (local_74[0] != 0) goto LAB_00020149;\nLAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;\nLAB_00020640:\n        wVar5 = 0xffffffff;\n        goto LAB_000202ff;\n      }" ({ "{") (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)\n        {\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 == 0) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\n        }" (if "if") (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)" (( "(") (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" (* "*") (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" (( "(") (binary_expression "&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0003ed60" (& "&") (identifier "DAT_0003ed60")) (+ "+") (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) goto LAB_00020721;\n          bVar2 = true;\n          goto LAB_00020201;\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) goto LAB_00020721;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00020721;" (goto "goto") (statement_identifier "LAB_00020721") (; ";"))) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_00020201;" (goto "goto") (statement_identifier "LAB_00020201") (; ";")) (} "}"))) (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") (' "'"))) (; ";")) (labeled_statement "LAB_0002013d:\n        local_84 = '\x01';" (statement_identifier "LAB_0002013d") (: ":") (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_00020149;" (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_00020149;" (goto "goto") (statement_identifier "LAB_00020149") (; ";"))) (labeled_statement "LAB_000205e1:\n        if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;" (statement_identifier "LAB_000205e1") (: ":") (if_statement "if (local_4c == '\0') {\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }\n        else if (local_40 != '\0') goto LAB_00020631;" (if "if") (parenthesized_expression "(local_4c == '\0')" (( "(") (binary_expression "local_4c == '\0'" (identifier "local_4c") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }\n          sVar4 = __ctype_get_mb_cur_max();\n          pbVar3 = local_48;\n          uVar7 = FUN_00023020(local_48,sVar4);\n          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n          if (local_44 + 2 < 2) goto LAB_00020640;\n          if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }\n          local_40 = '\x01';\nLAB_00020631:\n          wVar5 = local_3c[0];\n          if (local_3c[0] == 0) goto LAB_000202ff;\n        }" ({ "{") (if_statement "if (local_58 == '\0') {\n            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\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_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 == 0) {\nLAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }\n            local_58 = '\x01';\n          }" ({ "{") (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0) {\n              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }" (if "if") (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0)" (( "(") (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=\n                0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" (* "*") (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" (( "(") (binary_expression "&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4" (pointer_expression "&DAT_0003ed60" (& "&") (identifier "DAT_0003ed60")) (+ "+") (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              local_44 = 1;\n              local_3c[0] = (wint_t)(char)*local_48;\n              local_40 = '\x01';\n              goto LAB_00020631;\n            }" ({ "{") (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" (identifier "local_44") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_3c[0] = (wint_t)(char)*local_48;" (assignment_expression "local_3c[0] = (wint_t)(char)*local_48" (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "(wint_t)(char)*local_48" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" (( "(") (identifier "wint_t") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (identifier "local_48"))) (; ";")) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" (identifier "local_40") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto LAB_00020631;" (goto "goto") (statement_identifier "LAB_00020631") (; ";")) (} "}"))) (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) {\nLAB_00020721:\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_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");\n            }" ({ "{") (labeled_statement "LAB_00020721:\n                    \n              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");" (statement_identifier "LAB_00020721") (: ":") (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 "local_58 = '\x01';" (assignment_expression "local_58 = '\x01'" (identifier "local_58") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}"))) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" (identifier "sVar4") (= "=") (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_00023020(local_48,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_48,sVar4)" (identifier "uVar7") (= "=") (call_expression "FUN_00023020(local_48,sVar4)" (identifier "FUN_00023020") (argument_list "(local_48,sVar4)" (( "(") (identifier "local_48") (, ",") (identifier "sVar4") () ")")))) (; ";")) (expression_statement "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);" (assignment_expression "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54)" (identifier "local_44") (= "=") (call_expression "FUN_00027600(local_3c,pbVar3,uVar7,&local_54)" (identifier "FUN_00027600") (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 + 2 < 2) goto LAB_00020640;" (if "if") (parenthesized_expression "(local_44 + 2 < 2)" (( "(") (binary_expression "local_44 + 2 < 2" (binary_expression "local_44 + 2" (identifier "local_44") (+ "+") (number_literal "2")) (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_00020640;" (goto "goto") (statement_identifier "LAB_00020640") (; ";"))) (if_statement "if (local_44 == 0) {\n            local_44 = 1;\n            if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\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) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }\n            if (local_3c[0] != 0) goto LAB_0002075f;\n          }" ({ "{") (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" (identifier "local_44") (= "=") (number_literal "1")) (; ";")) (if_statement "if (*local_48 != 0) {\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }" (if "if") (parenthesized_expression "(*local_48 != 0)" (( "(") (binary_expression "*local_48 != 0" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");\n            }" ({ "{") (labeled_statement "LAB_00020740:\n                    \n              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");" (statement_identifier "LAB_00020740") (: ":") (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_3c[0] != 0) goto LAB_0002075f;" (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_0002075f;" (goto "goto") (statement_identifier "LAB_0002075f") (; ";"))) (} "}"))) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" (identifier "local_40") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (labeled_statement "LAB_00020631:\n          wVar5 = local_3c[0];" (statement_identifier "LAB_00020631") (: ":") (expression_statement "wVar5 = local_3c[0];" (assignment_expression "wVar5 = local_3c[0]" (identifier "wVar5") (= "=") (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]"))) (; ";"))) (if_statement "if (local_3c[0] == 0) goto LAB_000202ff;" (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_000202ff;" (goto "goto") (statement_identifier "LAB_000202ff") (; ";"))) (} "}")) (else_clause "else if (local_40 != '\0') goto LAB_00020631;" (else "else") (if_statement "if (local_40 != '\0') goto LAB_00020631;" (if "if") (parenthesized_expression "(local_40 != '\0')" (( "(") (binary_expression "local_40 != '\0'" (identifier "local_40") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00020631;" (goto "goto") (statement_identifier "LAB_00020631") (; ";")))))) (labeled_statement "LAB_00020640:\n        wVar5 = 0xffffffff;" (statement_identifier "LAB_00020640") (: ":") (expression_statement "wVar5 = 0xffffffff;" (assignment_expression "wVar5 = 0xffffffff" (identifier "wVar5") (= "=") (number_literal "0xffffffff")) (; ";"))) (goto_statement "goto LAB_000202ff;" (goto "goto") (statement_identifier "LAB_000202ff") (; ";")) (} "}"))) (labeled_statement "LAB_00020201:\n      sVar4 = __ctype_get_mb_cur_max();" (statement_identifier "LAB_00020201") (: ":") (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" (identifier "sVar4") (= "=") (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_00023020(local_80,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_80,sVar4)" (identifier "uVar7") (= "=") (call_expression "FUN_00023020(local_80,sVar4)" (identifier "FUN_00023020") (argument_list "(local_80,sVar4)" (( "(") (identifier "local_80") (, ",") (identifier "sVar4") () ")")))) (; ";")) (expression_statement "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c)" (identifier "local_7c") (= "=") (call_expression "FUN_00027600(local_74,pbVar3,uVar7,&local_8c)" (identifier "FUN_00027600") (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        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }" (if "if") (parenthesized_expression "(local_7c != 0xffffffff)" (( "(") (binary_expression "local_7c != 0xffffffff" (identifier "local_7c") (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\n        }\n        if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }\n        local_7c = 1;\n        if (*local_80 != 0) goto LAB_00020740;\n        if (local_74[0] == 0) goto LAB_00020262;\nLAB_0002075f:\n        FUN_00020040();\n        goto LAB_00020764;\n      }" ({ "{") (if_statement "if (local_7c == 0xfffffffe) {\n          local_7c = strlen((char *)local_80);\n          local_78 = '\0';\n          goto LAB_00020149;\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          goto LAB_00020149;\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") (' "'"))) (; ";")) (goto_statement "goto LAB_00020149;" (goto "goto") (statement_identifier "LAB_00020149") (; ";")) (} "}"))) (if_statement "if (local_7c != 0) {\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }" (if "if") (parenthesized_expression "(local_7c != 0)" (( "(") (binary_expression "local_7c != 0" (identifier "local_7c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00020262:\n          local_78 = '\x01';\n          iVar8 = mbsinit(&local_8c);\n          if (iVar8 != 0) {\n            bVar2 = false;\n          }\n          goto LAB_0002013d;\n        }" ({ "{") (labeled_statement "LAB_00020262:\n          local_78 = '\x01';" (statement_identifier "LAB_00020262") (: ":") (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_0002013d;" (goto "goto") (statement_identifier "LAB_0002013d") (; ";")) (} "}"))) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (if_statement "if (*local_80 != 0) goto LAB_00020740;" (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_00020740;" (goto "goto") (statement_identifier "LAB_00020740") (; ";"))) (if_statement "if (local_74[0] == 0) goto LAB_00020262;" (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_00020262;" (goto "goto") (statement_identifier "LAB_00020262") (; ";"))) (labeled_statement "LAB_0002075f:\n        FUN_00020040();" (statement_identifier "LAB_0002075f") (: ":") (expression_statement "FUN_00020040();" (call_expression "FUN_00020040()" (identifier "FUN_00020040") (argument_list "()" (( "(") () ")"))) (; ";"))) (goto_statement "goto LAB_00020764;" (goto "goto") (statement_identifier "LAB_00020764") (; ";")) (} "}"))) (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") (' "'"))) (; ";")) (labeled_statement "LAB_00020149:\n      local_84 = '\x01';" (statement_identifier "LAB_00020149") (: ":") (expression_statement "local_84 = '\x01';" (assignment_expression "local_84 = '\x01'" (identifier "local_84") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";"))) (if_statement "if (local_4c == '\0') {\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }\n      else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }" (if "if") (parenthesized_expression "(local_4c == '\0')" (( "(") (binary_expression "local_4c == '\0'" (identifier "local_4c") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }\n        sVar4 = __ctype_get_mb_cur_max();\n        pbVar3 = local_48;\n        uVar7 = FUN_00023020(local_48,sVar4);\n        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);\n        if (local_44 == 0xffffffff) {\n          local_44 = 1;\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }\nLAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;\n        if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }\n        wVar5 = memcmp(local_80,local_48,local_7c);\n      }" ({ "{") (if_statement "if (local_58 == '\0') {\n          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\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_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          iVar8 = mbsinit(&local_54);\n          if (iVar8 == 0) goto LAB_00020721;\n          local_58 = '\x01';\n        }" ({ "{") (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             ) {\n            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }" (if "if") (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0\n             )" (( "(") (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" (* "*") (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4)" (( "(") (binary_expression "&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4" (pointer_expression "&DAT_0003ed60" (& "&") (identifier "DAT_0003ed60")) (+ "+") (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            local_44 = 1;\n            local_3c[0] = (wint_t)(char)*local_48;\n            local_40 = '\x01';\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }" ({ "{") (expression_statement "local_44 = 1;" (assignment_expression "local_44 = 1" (identifier "local_44") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_3c[0] = (wint_t)(char)*local_48;" (assignment_expression "local_3c[0] = (wint_t)(char)*local_48" (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "(wint_t)(char)*local_48" (call_expression "(wint_t)(char)" (parenthesized_expression "(wint_t)" (( "(") (identifier "wint_t") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (identifier "local_48"))) (; ";")) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" (identifier "local_40") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" (identifier "local_4c") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto LAB_0002019c;" (goto "goto") (statement_identifier "LAB_0002019c") (; ";")) (} "}"))) (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) goto LAB_00020721;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00020721;" (goto "goto") (statement_identifier "LAB_00020721") (; ";"))) (expression_statement "local_58 = '\x01';" (assignment_expression "local_58 = '\x01'" (identifier "local_58") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}"))) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" (identifier "sVar4") (= "=") (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_00023020(local_48,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_48,sVar4)" (identifier "uVar7") (= "=") (call_expression "FUN_00023020(local_48,sVar4)" (identifier "FUN_00023020") (argument_list "(local_48,sVar4)" (( "(") (identifier "local_48") (, ",") (identifier "sVar4") () ")")))) (; ";")) (expression_statement "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);" (assignment_expression "local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54)" (identifier "local_44") (= "=") (call_expression "FUN_00027600(local_3c,pbVar3,uVar7,&local_54)" (identifier "FUN_00027600") (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          local_4c = '\x01';\n        }\n        else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\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          local_4c = '\x01';\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") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" (identifier "local_4c") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n          if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\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_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }\n          local_44 = strlen((char *)local_48);\n          local_40 = '\0';\n          local_4c = '\x01';\n        }" ({ "{") (if_statement "if (local_44 != 0xfffffffe) {\n            if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\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_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\n            }\n            local_40 = '\x01';\n            iVar8 = mbsinit(&local_54);\n            if (iVar8 != 0) {\n              local_58 = '\0';\n            }\n            local_4c = '\x01';\n            goto LAB_0002019c;\n          }" ({ "{") (if_statement "if (local_44 == 0) {\n              local_44 = 1;\n              if (*local_48 != 0) goto LAB_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\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_00020740;\n              if (local_3c[0] != 0) goto LAB_0002075f;\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_00020740;" (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_00020740;" (goto "goto") (statement_identifier "LAB_00020740") (; ";"))) (if_statement "if (local_3c[0] != 0) goto LAB_0002075f;" (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_0002075f;" (goto "goto") (statement_identifier "LAB_0002075f") (; ";"))) (} "}"))) (expression_statement "local_40 = '\x01';" (assignment_expression "local_40 = '\x01'" (identifier "local_40") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (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 = '\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") (' "'"))) (; ";")) (} "}"))) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" (identifier "local_4c") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto LAB_0002019c;" (goto "goto") (statement_identifier "LAB_0002019c") (; ";")) (} "}"))) (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") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_4c = '\x01';" (assignment_expression "local_4c = '\x01'" (identifier "local_4c") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}")))) (labeled_statement "LAB_000203d3:\n        if (local_78 != '\0') goto LAB_00020640;" (statement_identifier "LAB_000203d3") (: ":") (if_statement "if (local_78 != '\0') goto LAB_00020640;" (if "if") (parenthesized_expression "(local_78 != '\0')" (( "(") (binary_expression "local_78 != '\0'" (identifier "local_78") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00020640;" (goto "goto") (statement_identifier "LAB_00020640") (; ";")))) (if_statement "if (local_7c != local_44) {\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }" (if "if") (parenthesized_expression "(local_7c != local_44)" (( "(") (binary_expression "local_7c != local_44" (identifier "local_7c") (!= "!=") (identifier "local_44")) () ")")) (compound_statement "{\n          if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }\n          goto LAB_00020640;\n        }" ({ "{") (if_statement "if (local_7c < local_44) {\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }\n          else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }" (if "if") (parenthesized_expression "(local_7c < local_44)" (( "(") (binary_expression "local_7c < local_44" (identifier "local_7c") (< "<") (identifier "local_44")) () ")")) (compound_statement "{\n            iVar8 = memcmp(local_80,local_48,local_7c);\n            if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }\n          }" ({ "{") (expression_statement "iVar8 = memcmp(local_80,local_48,local_7c);" (assignment_expression "iVar8 = memcmp(local_80,local_48,local_7c)" (identifier "iVar8") (= "=") (call_expression "memcmp(local_80,local_48,local_7c)" (identifier "memcmp") (argument_list "(local_80,local_48,local_7c)" (( "(") (identifier "local_80") (, ",") (identifier "local_48") (, ",") (identifier "local_7c") () ")")))) (; ";")) (if_statement "if (0 < iVar8) {\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }" (if "if") (parenthesized_expression "(0 < iVar8)" (( "(") (binary_expression "0 < iVar8" (number_literal "0") (< "<") (identifier "iVar8")) () ")")) (compound_statement "{\nLAB_000204e8:\n              wVar5 = 1;\n              goto LAB_000202ff;\n            }" ({ "{") (labeled_statement "LAB_000204e8:\n              wVar5 = 1;" (statement_identifier "LAB_000204e8") (: ":") (expression_statement "wVar5 = 1;" (assignment_expression "wVar5 = 1" (identifier "wVar5") (= "=") (number_literal "1")) (; ";"))) (goto_statement "goto LAB_000202ff;" (goto "goto") (statement_identifier "LAB_000202ff") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }" (else "else") (compound_statement "{\n            iVar8 = memcmp(local_80,local_48,local_44);\n            if (-1 < iVar8) goto LAB_000204e8;\n          }" ({ "{") (expression_statement "iVar8 = memcmp(local_80,local_48,local_44);" (assignment_expression "iVar8 = memcmp(local_80,local_48,local_44)" (identifier "iVar8") (= "=") (call_expression "memcmp(local_80,local_48,local_44)" (identifier "memcmp") (argument_list "(local_80,local_48,local_44)" (( "(") (identifier "local_80") (, ",") (identifier "local_48") (, ",") (identifier "local_44") () ")")))) (; ";")) (if_statement "if (-1 < iVar8) goto LAB_000204e8;" (if "if") (parenthesized_expression "(-1 < iVar8)" (( "(") (binary_expression "-1 < iVar8" (number_literal "-1") (< "<") (identifier "iVar8")) () ")")) (goto_statement "goto LAB_000204e8;" (goto "goto") (statement_identifier "LAB_000204e8") (; ";"))) (} "}")))) (goto_statement "goto LAB_00020640;" (goto "goto") (statement_identifier "LAB_00020640") (; ";")) (} "}"))) (expression_statement "wVar5 = memcmp(local_80,local_48,local_7c);" (assignment_expression "wVar5 = memcmp(local_80,local_48,local_7c)" (identifier "wVar5") (= "=") (call_expression "memcmp(local_80,local_48,local_7c)" (identifier "memcmp") (argument_list "(local_80,local_48,local_7c)" (( "(") (identifier "local_80") (, ",") (identifier "local_48") (, ",") (identifier "local_7c") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }" (else "else") (compound_statement "{\n        if (local_40 == '\0') goto LAB_000203d3;\nLAB_0002019c:\n        wVar6 = local_3c[0];\n        if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }\n        if (local_78 == '\0') goto LAB_000204e8;\n        wVar5 = towlower(local_74[0]);\n        wVar6 = towlower(wVar6);\n        wVar5 = wVar5 - wVar6;\n      }" ({ "{") (if_statement "if (local_40 == '\0') goto LAB_000203d3;" (if "if") (parenthesized_expression "(local_40 == '\0')" (( "(") (binary_expression "local_40 == '\0'" (identifier "local_40") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000203d3;" (goto "goto") (statement_identifier "LAB_000203d3") (; ";"))) (labeled_statement "LAB_0002019c:\n        wVar6 = local_3c[0];" (statement_identifier "LAB_0002019c") (: ":") (expression_statement "wVar6 = local_3c[0];" (assignment_expression "wVar6 = local_3c[0]" (identifier "wVar6") (= "=") (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]"))) (; ";"))) (if_statement "if (local_3c[0] == 0) {\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\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 "{\n          if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }\n          goto LAB_000204e8;\n        }" ({ "{") (if_statement "if (local_84 == '\0') {\n            if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }\n          else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\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_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }\n            sVar4 = __ctype_get_mb_cur_max();\n            pbVar3 = local_80;\n            uVar7 = FUN_00023020(local_80,sVar4);\n            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);\n            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }\n          }" ({ "{") (if_statement "if (!bVar2) {\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n              if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }\n              iVar8 = mbsinit(&local_8c);\n              if (iVar8 == 0) goto LAB_00020721;\n            }" ({ "{") (if_statement "if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0) {\n                local_7c = 1;\n                local_74[0] = (wint_t)(char)*local_80;\n                local_78 = '\x01';\n                local_84 = '\x01';\n                goto LAB_000205d5;\n              }" (if "if") (parenthesized_expression "((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0)" (( "(") (binary_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)\n                  != 0" (parenthesized_expression "(*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1" (binary_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f)" (pointer_expression "*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" (* "*") (cast_expression "(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4)" (( "(") (binary_expression "&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4" (pointer_expression "&DAT_0003ed60" (& "&") (identifier "DAT_0003ed60")) (+ "+") (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_000205d5;\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_000205d5;" (goto "goto") (statement_identifier "LAB_000205d5") (; ";")) (} "}"))) (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_00020721;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00020721;" (goto "goto") (statement_identifier "LAB_00020721") (; ";"))) (} "}"))) (expression_statement "sVar4 = __ctype_get_mb_cur_max();" (assignment_expression "sVar4 = __ctype_get_mb_cur_max()" (identifier "sVar4") (= "=") (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_00023020(local_80,sVar4);" (assignment_expression "uVar7 = FUN_00023020(local_80,sVar4)" (identifier "uVar7") (= "=") (call_expression "FUN_00023020(local_80,sVar4)" (identifier "FUN_00023020") (argument_list "(local_80,sVar4)" (( "(") (identifier "local_80") (, ",") (identifier "sVar4") () ")")))) (; ";")) (expression_statement "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);" (assignment_expression "local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c)" (identifier "local_7c") (= "=") (call_expression "FUN_00027600(local_74,pbVar3,uVar7,&local_8c)" (identifier "FUN_00027600") (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) && (local_7c != 0xfffffffe)) {\n              if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }" (if "if") (parenthesized_expression "((local_7c != 0xffffffff) && (local_7c != 0xfffffffe))" (( "(") (binary_expression "(local_7c != 0xffffffff) && (local_7c != 0xfffffffe)" (parenthesized_expression "(local_7c != 0xffffffff)" (( "(") (binary_expression "local_7c != 0xffffffff" (identifier "local_7c") (!= "!=") (number_literal "0xffffffff")) () ")")) (&& "&&") (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_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\n              }\n              local_78 = '\x01';\n              mbsinit(&local_8c);\n              local_84 = '\x01';\n              goto LAB_000205d5;\n            }" ({ "{") (if_statement "if (local_7c == 0) {\n                local_7c = 1;\n                if (*local_80 != 0) goto LAB_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\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_00020740;\n                if (local_74[0] != 0) goto LAB_0002075f;\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_00020740;" (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_00020740;" (goto "goto") (statement_identifier "LAB_00020740") (; ";"))) (if_statement "if (local_74[0] != 0) goto LAB_0002075f;" (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_0002075f;" (goto "goto") (statement_identifier "LAB_0002075f") (; ";"))) (} "}"))) (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_000205d5;" (goto "goto") (statement_identifier "LAB_000205d5") (; ";")) (} "}"))) (} "}")) (else_clause "else if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }" (else "else") (if_statement "if (local_78 != '\0') {\nLAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\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_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;\n          }" ({ "{") (labeled_statement "LAB_000205d5:\n            if (local_74[0] == 0) goto LAB_000205e1;" (statement_identifier "LAB_000205d5") (: ":") (if_statement "if (local_74[0] == 0) goto LAB_000205e1;" (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_000205e1;" (goto "goto") (statement_identifier "LAB_000205e1") (; ";")))) (} "}"))))) (goto_statement "goto LAB_000204e8;" (goto "goto") (statement_identifier "LAB_000204e8") (; ";")) (} "}"))) (if_statement "if (local_78 == '\0') goto LAB_000204e8;" (if "if") (parenthesized_expression "(local_78 == '\0')" (( "(") (binary_expression "local_78 == '\0'" (identifier "local_78") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000204e8;" (goto "goto") (statement_identifier "LAB_000204e8") (; ";"))) (expression_statement "wVar5 = towlower(local_74[0]);" (assignment_expression "wVar5 = towlower(local_74[0])" (identifier "wVar5") (= "=") (call_expression "towlower(local_74[0])" (identifier "towlower") (argument_list "(local_74[0])" (( "(") (subscript_expression "local_74[0]" (identifier "local_74") ([ "[") (number_literal "0") (] "]")) () ")")))) (; ";")) (expression_statement "wVar6 = towlower(wVar6);" (assignment_expression "wVar6 = towlower(wVar6)" (identifier "wVar6") (= "=") (call_expression "towlower(wVar6)" (identifier "towlower") (argument_list "(wVar6)" (( "(") (identifier "wVar6") () ")")))) (; ";")) (expression_statement "wVar5 = wVar5 - wVar6;" (assignment_expression "wVar5 = wVar5 - wVar6" (identifier "wVar5") (= "=") (binary_expression "wVar5 - wVar6" (identifier "wVar5") (- "-") (identifier "wVar6"))) (; ";")) (} "}")))) (if_statement "if (wVar5 != 0) goto LAB_000202ff;" (if "if") (parenthesized_expression "(wVar5 != 0)" (( "(") (binary_expression "wVar5 != 0" (identifier "wVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000202ff;" (goto "goto") (statement_identifier "LAB_000202ff") (; ";"))) (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"))) (; ";")) (goto_statement "goto LAB_000201f2;" (goto "goto") (statement_identifier "LAB_000201f2") (; ";")) (} "}"))) (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" (identifier "ppuVar9") (= "=") (call_expression "__ctype_b_loc()" (identifier "__ctype_b_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar1 = *ppuVar9;" (assignment_expression "puVar1 = *ppuVar9" (identifier "puVar1") (= "=") (pointer_expression "*ppuVar9" (* "*") (identifier "ppuVar9"))) (; ";")) (do_statement "do {\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    } while (bVar11 == (byte)uVar12);" (do "do") (compound_statement "{\n      bVar11 = *param_1;\n      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }\n      uVar12 = (uint)*param_2;\n      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }\n      if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }\n      param_1 = param_1 + 1;\n      param_2 = param_2 + 1;\n    }" ({ "{") (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" (identifier "bVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1)" (( "(") (binary_expression "*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1" (pointer_expression "*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar1 + (uint)bVar11 * 2 + 1)" (( "(") (binary_expression "(int)puVar1 + (uint)bVar11 * 2 + 1" (binary_expression "(int)puVar1 + (uint)bVar11 * 2" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (+ "+") (binary_expression "(uint)bVar11 * 2" (cast_expression "(uint)bVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar11")) (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pp_Var10 = __ctype_tolower_loc();\n        bVar11 = *(byte *)(*pp_Var10 + bVar11);\n      }" ({ "{") (expression_statement "pp_Var10 = __ctype_tolower_loc();" (assignment_expression "pp_Var10 = __ctype_tolower_loc()" (identifier "pp_Var10") (= "=") (call_expression "__ctype_tolower_loc()" (identifier "__ctype_tolower_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar11 = *(byte *)(*pp_Var10 + bVar11);" (assignment_expression "bVar11 = *(byte *)(*pp_Var10 + bVar11)" (identifier "bVar11") (= "=") (pointer_expression "*(byte *)(*pp_Var10 + bVar11)" (* "*") (cast_expression "(byte *)(*pp_Var10 + bVar11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*pp_Var10 + bVar11)" (( "(") (binary_expression "*pp_Var10 + bVar11" (pointer_expression "*pp_Var10" (* "*") (identifier "pp_Var10")) (+ "+") (identifier "bVar11")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar12 = (uint)*param_2;" (assignment_expression "uVar12 = (uint)*param_2" (identifier "uVar12") (= "=") (binary_expression "(uint)*param_2" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_2"))) (; ";")) (if_statement "if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1)" (( "(") (binary_expression "*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1" (pointer_expression "*(byte *)((int)puVar1 + uVar12 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)puVar1 + uVar12 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar1 + uVar12 * 2 + 1)" (( "(") (binary_expression "(int)puVar1 + uVar12 * 2 + 1" (binary_expression "(int)puVar1 + uVar12 * 2" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (+ "+") (binary_expression "uVar12 * 2" (identifier "uVar12") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pp_Var10 = __ctype_tolower_loc();\n        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);\n      }" ({ "{") (expression_statement "pp_Var10 = __ctype_tolower_loc();" (assignment_expression "pp_Var10 = __ctype_tolower_loc()" (identifier "pp_Var10") (= "=") (call_expression "__ctype_tolower_loc()" (identifier "__ctype_tolower_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);" (assignment_expression "uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12)" (identifier "uVar12") (= "=") (binary_expression "(uint)*(byte *)(*pp_Var10 + uVar12)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(*pp_Var10 + uVar12)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*pp_Var10 + uVar12)" (( "(") (binary_expression "*pp_Var10 + uVar12" (pointer_expression "*pp_Var10" (* "*") (identifier "pp_Var10")) (+ "+") (identifier "uVar12")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (bVar11 == 0) {\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }" (if "if") (parenthesized_expression "(bVar11 == 0)" (( "(") (binary_expression "bVar11 == 0" (identifier "bVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar13 = 0;\n        goto LAB_000202fb;\n      }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000202fb;" (goto "goto") (statement_identifier "LAB_000202fb") (; ";")) (} "}"))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" (identifier "param_2") (= "=") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11 == (byte)uVar12)" (( "(") (binary_expression "bVar11 == (byte)uVar12" (identifier "bVar11") (== "==") (cast_expression "(byte)uVar12" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar12"))) () ")")) (; ";")) (expression_statement "uVar13 = (uint)bVar11;" (assignment_expression "uVar13 = (uint)bVar11" (identifier "uVar13") (= "=") (cast_expression "(uint)bVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar11"))) (; ";")) (labeled_statement "LAB_000202fb:\n    wVar5 = uVar13 - uVar12;" (statement_identifier "LAB_000202fb") (: ":") (expression_statement "wVar5 = uVar13 - uVar12;" (assignment_expression "wVar5 = uVar13 - uVar12" (identifier "wVar5") (= "=") (binary_expression "uVar13 - uVar12" (identifier "uVar13") (- "-") (identifier "uVar12"))) (; ";"))) (} "}")))) (labeled_statement "LAB_000202ff:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\n  }" (statement_identifier "LAB_000202ff") (: ":") (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return wVar5;\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    return wVar5;\n  }" ({ "{") (return_statement "return wVar5;" (return "return") (identifier "wVar5") (; ";")) (} "}")))) (labeled_statement "LAB_00020764:\n                    \n  FUN_0003b430();" (statement_identifier "LAB_00020764") (: ":") (expression_statement "FUN_0003b430();" (call_expression "FUN_0003b430()" (identifier "FUN_0003b430") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")))

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

int function_1(char *var_2,char *var_3)

{
  int var_24;
  type_1 *puVar2;
  char *pcVar3;
  size_t var_5;
  type_2 var_15;
  type_2 var_16;
  size_t sVar7;
  int var_10;
  type_1 **ppuVar9;
  type_3 **pp_Var10;
  type_4 var_21;
  type_5 var_22;
  type_6 var_17;
  type_5 var_23;
  int var_1;
  type_7 *in_stack_ffffff54;
  type_8 iter1;
  type_8 iter2;
  
  var_24 = *(int *)(var_1 + 0x14);
  if (var_2 == var_3) {
    var_17 = L'\0';
  }
  else {
    var_5 = var_4();
    if (1 < var_5) {
      iter2.cur.ptr = var_3;
      iter1.cur.ptr = var_2;
      iter1.in_shift = false;
      iter1.state.__count = 0;
      iter1.state.__value.__wch = 0;
      iter2.in_shift = false;
      iter2.state.__count = 0;
      iter2.state.__value.__wch = 0;
LAB_000201f2:
      iter2.next_done = false;
      iter1.next_done = false;
      if (iter1.in_shift != false) {
LAB_00020201:
        var_5 = var_4();
        pcVar3 = iter1.cur.ptr;
        sVar7 = var_6(iter1.cur.ptr,var_5);
        iter1.cur.bytes = var_7(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);
        if (iter1.cur.bytes != 0xffffffff) {
          if (iter1.cur.bytes == 0xfffffffe) {
            iter1.cur.bytes = var_8(iter1.cur.ptr);
            iter1.cur.wc_valid = false;
            goto LAB_00020149;
          }
          if (iter1.cur.bytes != 0) {
LAB_00020262:
            iter1.cur.wc_valid = true;
            var_10 = var_9((type_9 *)&iter1.state);
            if (var_10 != 0) {
              iter1.in_shift = false;
            }
            goto LAB_0002013d;
          }
          iter1.cur.bytes = 1;
          if (*iter1.cur.ptr != '\0') goto LAB_00020740;
          if (iter1.cur.wc == L'\0') goto LAB_00020262;
LAB_0002075f:
          var_11(in_stack_ffffff54);
          goto LAB_00020764;
        }
        iter1.cur.bytes = 1;
        iter1.cur.wc_valid = false;
LAB_00020149:
        iter1.next_done = true;
        if (iter2.next_done == false) {
          if (iter2.in_shift == false) {
            if ((*(type_5 *)(var_12 + (type_5)((type_4)*iter2.cur.ptr >> 5) * 4) >>
                 (*iter2.cur.ptr & 0x1fU) & 1) != 0) {
              iter2.cur.bytes = 1;
              iter2.cur.wc = (type_6)*iter2.cur.ptr;
              iter2.cur.wc_valid = true;
              iter2.next_done = true;
              goto LAB_0002019c;
            }
            var_10 = var_9((type_9 *)&iter2.state);
            if (var_10 == 0) goto LAB_00020721;
            iter2.in_shift = true;
          }
          var_5 = var_4();
          pcVar3 = iter2.cur.ptr;
          sVar7 = var_6(iter2.cur.ptr,var_5);
          iter2.cur.bytes = var_7(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);
          if (iter2.cur.bytes == 0xffffffff) {
            iter2.cur.bytes = 1;
            iter2.cur.wc_valid = false;
            iter2.next_done = true;
          }
          else {
            if (iter2.cur.bytes != 0xfffffffe) {
              if (iter2.cur.bytes == 0) {
                iter2.cur.bytes = 1;
                if (*iter2.cur.ptr != '\0') goto LAB_00020740;
                if (iter2.cur.wc != L'\0') goto LAB_0002075f;
              }
              iter2.cur.wc_valid = true;
              var_10 = var_9((type_9 *)&iter2.state);
              if (var_10 != 0) {
                iter2.in_shift = false;
              }
              iter2.next_done = true;
              goto LAB_0002019c;
            }
            iter2.cur.bytes = var_8(iter2.cur.ptr);
            iter2.cur.wc_valid = false;
            iter2.next_done = true;
          }
LAB_000203d3:
          if (iter1.cur.wc_valid != false) goto LAB_00020640;
          if (iter1.cur.bytes != iter2.cur.bytes) {
            if (iter1.cur.bytes < iter2.cur.bytes) {
              var_10 = var_13(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);
              if (0 < var_10) {
LAB_000204e8:
                var_17 = L'\x01';
                goto LAB_000202ff;
              }
            }
            else {
              var_10 = var_13(iter1.cur.ptr,iter2.cur.ptr,iter2.cur.bytes);
              if (-1 < var_10) goto LAB_000204e8;
            }
            goto LAB_00020640;
          }
          var_17 = var_13(iter1.cur.ptr,iter2.cur.ptr,iter1.cur.bytes);
        }
        else {
          if (iter2.cur.wc_valid == false) goto LAB_000203d3;
LAB_0002019c:
          var_17 = iter2.cur.wc;
          if (iter2.cur.wc == L'\0') {
            if (iter1.next_done == false) {
              if (iter1.in_shift == false) {
                if ((*(type_5 *)(var_12 + (type_5)((type_4)*iter1.cur.ptr >> 5) * 4) >>
                     (*iter1.cur.ptr & 0x1fU) & 1) != 0) {
                  iter1.cur.bytes = 1;
                  iter1.cur.wc = (type_6)*iter1.cur.ptr;
                  iter1.cur.wc_valid = true;
                  iter1.next_done = true;
                  goto LAB_000205d5;
                }
                var_10 = var_9((type_9 *)&iter1.state);
                if (var_10 == 0) goto LAB_00020721;
                iter1.in_shift = true;
              }
              var_5 = var_4();
              pcVar3 = iter1.cur.ptr;
              sVar7 = var_6(iter1.cur.ptr,var_5);
              iter1.cur.bytes = var_7(&iter1.cur.wc,pcVar3,sVar7,&iter1.state);
              if ((iter1.cur.bytes != 0xffffffff) && (iter1.cur.bytes != 0xfffffffe)) {
                if (iter1.cur.bytes == 0) {
                  iter1.cur.bytes = 1;
                  if (*iter1.cur.ptr != '\0') goto LAB_00020740;
                  if (iter1.cur.wc != L'\0') goto LAB_0002075f;
                }
                iter1.cur.wc_valid = true;
                var_10 = var_9((type_9 *)&iter1.state);
                if (var_10 != 0) {
                  iter1.in_shift = false;
                }
                iter1.next_done = true;
                goto LAB_000205d5;
              }
            }
            else if (iter1.cur.wc_valid != false) {
LAB_000205d5:
              if (iter1.cur.wc == L'\0') goto LAB_000205e1;
            }
            goto LAB_000204e8;
          }
          if (iter1.cur.wc_valid == false) goto LAB_000204e8;
          var_15 = var_14(iter1.cur.wc);
          var_16 = var_14(var_17);
          var_17 = var_15 - var_16;
        }
        if (var_17 != L'\0') goto LAB_000202ff;
        iter1.cur.ptr = iter1.cur.ptr + iter1.cur.bytes;
        iter2.cur.ptr = iter2.cur.ptr + iter2.cur.bytes;
        goto LAB_000201f2;
      }
      if ((*(type_5 *)(var_12 + (type_5)((type_4)*iter1.cur.ptr >> 5) * 4) >>
           (*iter1.cur.ptr & 0x1fU) & 1) == 0) {
        var_10 = var_9((type_9 *)&iter1.state);
        if (var_10 == 0) goto LAB_00020721;
        iter1.in_shift = true;
        goto LAB_00020201;
      }
      iter1.cur.bytes = 1;
      iter1.cur.wc = (type_6)*iter1.cur.ptr;
      iter1.cur.wc_valid = true;
LAB_0002013d:
      iter1.next_done = true;
      if (iter1.cur.wc != L'\0') goto LAB_00020149;
LAB_000205e1:
      if (iter2.next_done == false) {
        if (iter2.in_shift == false) {
          if ((*(type_5 *)(var_12 + (type_5)((type_4)*iter2.cur.ptr >> 5) * 4) >>
               (*iter2.cur.ptr & 0x1fU) & 1) != 0) {
            iter2.cur.bytes = 1;
            iter2.cur.wc = (type_6)*iter2.cur.ptr;
            iter2.cur.wc_valid = true;
            goto LAB_00020631;
          }
          var_10 = var_9((type_9 *)&iter2.state);
          if (var_10 == 0) {
LAB_00020721:
                    /* WARNING: Subroutine does not return */
            var_18("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");
          }
          iter2.in_shift = true;
        }
        var_5 = var_4();
        pcVar3 = iter2.cur.ptr;
        sVar7 = var_6(iter2.cur.ptr,var_5);
        iter2.cur.bytes = var_7(&iter2.cur.wc,pcVar3,sVar7,&iter2.state);
        if (1 < iter2.cur.bytes + 2) {
          if (iter2.cur.bytes == 0) {
            iter2.cur.bytes = 1;
            if (*iter2.cur.ptr != '\0') {
LAB_00020740:
                    /* WARNING: Subroutine does not return */
              var_18("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");
            }
            if (iter2.cur.wc != L'\0') goto LAB_0002075f;
          }
          iter2.cur.wc_valid = true;
LAB_00020631:
          var_17 = iter2.cur.wc;
          if (iter2.cur.wc != L'\0') goto LAB_00020640;
          goto LAB_000202ff;
        }
      }
      else if (iter2.cur.wc_valid != false) goto LAB_00020631;
LAB_00020640:
      var_17 = L'\xffffffff';
      goto LAB_000202ff;
    }
    ppuVar9 = var_19();
    puVar2 = *ppuVar9;
    do {
      var_21 = *var_2;
      if ((*(type_4 *)((int)puVar2 + (type_5)var_21 * 2 + 1) & 1) != 0) {
        pp_Var10 = var_20();
        var_21 = *(type_4 *)(*pp_Var10 + var_21);
      }
      var_22 = (type_5)(type_4)*var_3;
      if ((*(type_4 *)((int)puVar2 + var_22 * 2 + 1) & 1) != 0) {
        pp_Var10 = var_20();
        var_22 = (type_5)*(type_4 *)(*pp_Var10 + var_22);
      }
      if (var_21 == 0) {
        var_23 = 0;
        goto LAB_000202fb;
      }
      var_2 = (char *)((type_4 *)var_2 + 1);
      var_3 = (char *)((type_4 *)var_3 + 1);
    } while (var_21 == (type_4)var_22);
    var_23 = (type_5)var_21;
LAB_000202fb:
    var_17 = var_23 - var_22;
  }
LAB_000202ff:
  if (var_24 == *(int *)(var_1 + 0x14)) {
    return var_17;
  }
LAB_00020764:
                    /* WARNING: Subroutine does not return */
  var_25();
}


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

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

wint_t MASKED(byte *param_1,byte *param_2)

{
  ushort *puVar1;
  bool bVar2;
  byte *pbVar3;
  size_t sVar4;
  wint_t wVar5;
  wint_t wVar6;
  undefined4 uVar7;
  int iVar8;
  ushort **ppuVar9;
  __int32_t **pp_Var10;
  byte bVar11;
  uint uVar12;
  uint uVar13;
  int in_GS_OFFSET;
  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;
  char local_4c;
  byte *local_48;
  uint local_44;
  char local_40;
  wint_t local_3c [7];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x20079;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == param_2) {
    wVar5 = 0;
  }
  else {
    sVar4 = __ctype_get_mb_cur_max();
    if (1 < sVar4) {
      local_48 = param_2;
      local_80 = param_1;
      bVar2 = false;
      local_8c.__count = 0;
      local_8c.__value.__wch = 0;
      local_58 = '\0';
      local_54.__count = 0;
      local_54.__value.__wch = 0;
LAB_000201f2:
      local_4c = '\0';
      local_84 = '\0';
      if (!bVar2) {
        if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_80 >> 5) * 4) >> (*local_80 & 0x1f) & 1) == 0)
        {
          iVar8 = mbsinit(&local_8c);
          if (iVar8 == 0) goto LAB_00020721;
          bVar2 = true;
          goto LAB_00020201;
        }
        local_7c = 1;
        local_74[0] = (wint_t)(char)*local_80;
        local_78 = '\x01';
LAB_0002013d:
        local_84 = '\x01';
        if (local_74[0] != 0) goto LAB_00020149;
LAB_000205e1:
        if (local_4c == '\0') {
          if (local_58 == '\0') {
            if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) !=
                0) {
              local_44 = 1;
              local_3c[0] = (wint_t)(char)*local_48;
              local_40 = '\x01';
              goto LAB_00020631;
            }
            iVar8 = mbsinit(&local_54);
            if (iVar8 == 0) {
LAB_00020721:
                    /* WARNING: Subroutine does not return */
              __assert_fail("mbsinit (&iter->state)","mbuiter.h",0x96,"mbuiter_multi_next");
            }
            local_58 = '\x01';
          }
          sVar4 = __ctype_get_mb_cur_max();
          pbVar3 = local_48;
          uVar7 = FUN_00023020(local_48,sVar4);
          local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);
          if (local_44 + 2 < 2) goto LAB_00020640;
          if (local_44 == 0) {
            local_44 = 1;
            if (*local_48 != 0) {
LAB_00020740:
                    /* WARNING: Subroutine does not return */
              __assert_fail("*iter->cur.ptr == \'\\0\'","mbuiter.h",0xb2,"mbuiter_multi_next");
            }
            if (local_3c[0] != 0) goto LAB_0002075f;
          }
          local_40 = '\x01';
LAB_00020631:
          wVar5 = local_3c[0];
          if (local_3c[0] == 0) goto LAB_000202ff;
        }
        else if (local_40 != '\0') goto LAB_00020631;
LAB_00020640:
        wVar5 = 0xffffffff;
        goto LAB_000202ff;
      }
LAB_00020201:
      sVar4 = __ctype_get_mb_cur_max();
      pbVar3 = local_80;
      uVar7 = FUN_00023020(local_80,sVar4);
      local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);
      if (local_7c != 0xffffffff) {
        if (local_7c == 0xfffffffe) {
          local_7c = strlen((char *)local_80);
          local_78 = '\0';
          goto LAB_00020149;
        }
        if (local_7c != 0) {
LAB_00020262:
          local_78 = '\x01';
          iVar8 = mbsinit(&local_8c);
          if (iVar8 != 0) {
            bVar2 = false;
          }
          goto LAB_0002013d;
        }
        local_7c = 1;
        if (*local_80 != 0) goto LAB_00020740;
        if (local_74[0] == 0) goto LAB_00020262;
LAB_0002075f:
        FUN_00020040();
        goto LAB_00020764;
      }
      local_7c = 1;
      local_78 = '\0';
LAB_00020149:
      local_84 = '\x01';
      if (local_4c == '\0') {
        if (local_58 == '\0') {
          if ((*(uint *)(&DAT_0003ed60 + (uint)(*local_48 >> 5) * 4) >> (*local_48 & 0x1f) & 1) != 0
             ) {
            local_44 = 1;
            local_3c[0] = (wint_t)(char)*local_48;
            local_40 = '\x01';
            local_4c = '\x01';
            goto LAB_0002019c;
          }
          iVar8 = mbsinit(&local_54);
          if (iVar8 == 0) goto LAB_00020721;
          local_58 = '\x01';
        }
        sVar4 = __ctype_get_mb_cur_max();
        pbVar3 = local_48;
        uVar7 = FUN_00023020(local_48,sVar4);
        local_44 = FUN_00027600(local_3c,pbVar3,uVar7,&local_54);
        if (local_44 == 0xffffffff) {
          local_44 = 1;
          local_40 = '\0';
          local_4c = '\x01';
        }
        else {
          if (local_44 != 0xfffffffe) {
            if (local_44 == 0) {
              local_44 = 1;
              if (*local_48 != 0) goto LAB_00020740;
              if (local_3c[0] != 0) goto LAB_0002075f;
            }
            local_40 = '\x01';
            iVar8 = mbsinit(&local_54);
            if (iVar8 != 0) {
              local_58 = '\0';
            }
            local_4c = '\x01';
            goto LAB_0002019c;
          }
          local_44 = strlen((char *)local_48);
          local_40 = '\0';
          local_4c = '\x01';
        }
LAB_000203d3:
        if (local_78 != '\0') goto LAB_00020640;
        if (local_7c != local_44) {
          if (local_7c < local_44) {
            iVar8 = memcmp(local_80,local_48,local_7c);
            if (0 < iVar8) {
LAB_000204e8:
              wVar5 = 1;
              goto LAB_000202ff;
            }
          }
          else {
            iVar8 = memcmp(local_80,local_48,local_44);
            if (-1 < iVar8) goto LAB_000204e8;
          }
          goto LAB_00020640;
        }
        wVar5 = memcmp(local_80,local_48,local_7c);
      }
      else {
        if (local_40 == '\0') goto LAB_000203d3;
LAB_0002019c:
        wVar6 = local_3c[0];
        if (local_3c[0] == 0) {
          if (local_84 == '\0') {
            if (!bVar2) {
              if ((*(uint *)(&DAT_0003ed60 + (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_000205d5;
              }
              iVar8 = mbsinit(&local_8c);
              if (iVar8 == 0) goto LAB_00020721;
            }
            sVar4 = __ctype_get_mb_cur_max();
            pbVar3 = local_80;
            uVar7 = FUN_00023020(local_80,sVar4);
            local_7c = FUN_00027600(local_74,pbVar3,uVar7,&local_8c);
            if ((local_7c != 0xffffffff) && (local_7c != 0xfffffffe)) {
              if (local_7c == 0) {
                local_7c = 1;
                if (*local_80 != 0) goto LAB_00020740;
                if (local_74[0] != 0) goto LAB_0002075f;
              }
              local_78 = '\x01';
              mbsinit(&local_8c);
              local_84 = '\x01';
              goto LAB_000205d5;
            }
          }
          else if (local_78 != '\0') {
LAB_000205d5:
            if (local_74[0] == 0) goto LAB_000205e1;
          }
          goto LAB_000204e8;
        }
        if (local_78 == '\0') goto LAB_000204e8;
        wVar5 = towlower(local_74[0]);
        wVar6 = towlower(wVar6);
        wVar5 = wVar5 - wVar6;
      }
      if (wVar5 != 0) goto LAB_000202ff;
      local_80 = local_80 + local_7c;
      local_48 = local_48 + local_44;
      goto LAB_000201f2;
    }
    ppuVar9 = __ctype_b_loc();
    puVar1 = *ppuVar9;
    do {
      bVar11 = *param_1;
      if ((*(byte *)((int)puVar1 + (uint)bVar11 * 2 + 1) & 1) != 0) {
        pp_Var10 = __ctype_tolower_loc();
        bVar11 = *(byte *)(*pp_Var10 + bVar11);
      }
      uVar12 = (uint)*param_2;
      if ((*(byte *)((int)puVar1 + uVar12 * 2 + 1) & 1) != 0) {
        pp_Var10 = __ctype_tolower_loc();
        uVar12 = (uint)*(byte *)(*pp_Var10 + uVar12);
      }
      if (bVar11 == 0) {
        uVar13 = 0;
        goto LAB_000202fb;
      }
      param_1 = param_1 + 1;
      param_2 = param_2 + 1;
    } while (bVar11 == (byte)uVar12);
    uVar13 = (uint)bVar11;
LAB_000202fb:
    wVar5 = uVar13 - uVar12;
  }
LAB_000202ff:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return wVar5;
  }
LAB_00020764:
                    /* WARNING: Subroutine does not return */
  FUN_0003b430();
}

