
void mbuiter_multi_next(mbuiter_multi *iter)

{
  byte bVar1;
  _Bool _Var2;
  bool bVar3;
  mbuiter_multi *pmVar4;
  undefined4 *puVar5;
  char cVar14;
  size_t sVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int *piVar10;
  uint uVar11;
  int iVar12;
  undefined4 *puVar13;
  mbuiter_multi *extraout_v1;
  mbuiter_multi *pmVar15;
  uint uVar16;
  byte *pbVar17;
  undefined4 *puVar18;
  mbuiter_multi *pmVar19;
  undefined1 *puVar20;
  undefined4 uVar21;
  undefined4 uVar22;
  undefined4 *puVar23;
  undefined4 uVar24;
  mbuiter_multi *pmVar25;
  byte *pbVar26;
  mbuiter_multi *in_t5;
  mbuiter_multi *unaff_s0;
  char *pcVar27;
  mbuiter_multi *unaff_s1;
  mbuiter_multi *pmVar28;
  char *pcVar29;
  mbuiter_multi *unaff_s3;
  mbuiter_multi *unaff_s4;
  mbuiter_multi **unaff_s5;
  char *pcVar30;
  mbstate_t *pmVar31;
  mbuiter_multi *unaff_s6;
  mbuiter_multi *unaff_s7;
  int in_t9;
  code *pcVar32;
  code *pcVar33;
  undefined1 *puVar34;
  mbuiter_multi *pwc;
  mbuiter_multi *pmVar35;
  code *pcVar36;
  undefined1 auStack_158 [28];
  undefined1 auStack_13c [4];
  undefined1 *puStack_138;
  mbuiter_multi *pmStack_134;
  mbuiter_multi *pmStack_130;
  int iStack_12c;
  char *pcStack_128;
  mbuiter_multi *pmStack_124;
  mbuiter_multi *pmStack_11c;
  mbuiter_multi *pmStack_118;
  undefined1 uStack_114;
  int iStack_110;
  undefined1 auStack_10c [32];
  char acStack_ec [8];
  mbuiter_multi *pmStack_e4;
  mbuiter_multi **ppmStack_e0;
  char cStack_dc;
  mbuiter_multi *pmStack_d8;
  undefined1 auStack_d4 [32];
  undefined4 uStack_b4;
  char cStack_b0;
  mbuiter_multi *pmStack_ac;
  undefined1 *puStack_a8;
  char cStack_a4;
  mbuiter_multi *apmStack_a0 [7];
  char cStack_84;
  undefined1 auStack_80 [16];
  mbuiter_multi *pmStack_70;
  byte bStack_6c;
  mbuiter_multi *apmStack_68 [7];
  byte *pbStack_4c;
  
  puVar23 = (undefined4 *)&DAT_000000b3;
  pcVar32 = *(code **)(in_t9 + 0x33d9c);
  pmVar19 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a30);
  pmVar15 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a24);
  (*pcVar32)();
  auStack_158._16_4_ = pcVar32 + 0x3bbd4;
  puVar34 = auStack_158;
  pmVar35 = (mbuiter_multi *)auStack_158;
  pwc = (mbuiter_multi *)auStack_158;
  auStack_13c = *(undefined1 (*) [4])(pcVar32 + 0x33ee4);
  pbStack_4c = *(byte **)auStack_13c;
  auStack_158._24_4_ = puVar23;
  pmStack_130 = pmVar15;
  puStack_138 = (undefined1 *)mbslen(&pmVar19->in_shift);
  pmVar15 = (mbuiter_multi *)(ZEXT48(puStack_138) * 0x2c);
  puVar20 = auStack_158;
  if ((-1 < (int)pmVar15) && (puVar20 = auStack_158, (int)(ZEXT48(puStack_138) * 0x2c >> 0x20) == 0)
     ) {
    uVar16 = (int)puStack_138 * 0x2c;
    if (uVar16 < 0xfb1) {
      iVar7 = -(uVar16 + 0x16 & 0xfffffff8);
      puVar34 = auStack_158 + iVar7;
      unaff_s0 = (mbuiter_multi *)(auStack_13c + iVar7 + 3);
      pmStack_124 = (mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0);
    }
    else {
      pmStack_124 = (mbuiter_multi *)mmalloca(uVar16);
    }
    puVar20 = puVar34;
    if (pmStack_124 != (mbuiter_multi *)0x0) {
      unaff_s6 = (mbuiter_multi *)(auStack_10c + 0x1c);
      iStack_12c = *(int *)(auStack_158._16_4_ + -0x7ef4);
      auStack_10c._28_4_ = 0;
      unaff_s3 = (mbuiter_multi *)0x1;
      acStack_ec[0] = '\0';
      acStack_ec[1] = '\0';
      acStack_ec[2] = '\0';
      acStack_ec[3] = '\0';
      unaff_s4 = (mbuiter_multi *)0xffffffff;
      pmStack_e4 = pmVar19;
      auStack_10c[0x18] = false;
      unaff_s0 = (mbuiter_multi *)auStack_d4;
      unaff_s1 = (mbuiter_multi *)&pmStack_d8;
      pcStack_128 = (&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8;
      unaff_s7 = pmStack_124;
      pcVar32 = (code *)auStack_158._16_4_;
      do {
        acStack_ec[4] = '\0';
        pmStack_e4 = pmVar19;
        if ((_Bool)auStack_10c[0x18] == false) {
          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>
               (pmVar19->in_shift & 0x1f) & 1) == 0) {
            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);
            pmVar28 = pmVar19;
            pcVar32 = (code *)auStack_158._16_4_;
            if (iVar7 != 0) {
              auStack_10c[0x18] = true;
              goto LAB_0001772c;
            }
            goto LAB_000180a8;
          }
          ppmStack_e0 = (mbuiter_multi **)0x1;
          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;
          cStack_dc = '\x01';
          acStack_ec[4] = '\x01';
          pmStack_d8 = pmVar19;
          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;
LAB_000176d4:
          cVar14 = '\x01';
        }
        else {
LAB_0001772c:
          sVar6 = (**(code **)(pcVar32 + -0x7d40))();
          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);
          pmVar25 = unaff_s6;
          ppmStack_e0 = (mbuiter_multi **)
                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,
                                    (mbstate_t *)unaff_s6);
          pmVar15 = pmStack_d8;
          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {
            ppmStack_e0 = (mbuiter_multi **)0x1;
            cVar14 = '\0';
            cStack_dc = '\0';
            pcVar32 = (code *)auStack_158._16_4_;
          }
          else {
            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {
              if (ppmStack_e0 == (mbuiter_multi **)0x0) {
                ppmStack_e0 = (mbuiter_multi **)0x1;
                pmVar28 = pmStack_d8;
                if (pmStack_e4->in_shift != false) goto LAB_00018084;
                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);
                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;
              }
              else {
                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);
              }
              cStack_dc = '\x01';
              iVar7 = (*pcVar32)(unaff_s6);
              if (iVar7 != 0) {
                auStack_10c[0x18] = false;
              }
              acStack_ec[4] = '\x01';
              pcVar32 = (code *)auStack_158._16_4_;
              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;
              goto LAB_000177b8;
            }
            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);
            cVar14 = '\0';
            cStack_dc = '\0';
            pcVar32 = (code *)auStack_158._16_4_;
          }
        }
        acStack_ec[4] = '\x01';
        if (pmStack_e4 == unaff_s0) {
          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);
          *(undefined4 *)unaff_s7 = uVar22;
          pcVar32 = (code *)auStack_158._16_4_;
          cVar14 = cStack_dc;
        }
        else {
          *(mbuiter_multi **)unaff_s7 = pmStack_e4;
        }
        unaff_s5 = ppmStack_e0;
        (unaff_s7->state).__count = (int)ppmStack_e0;
        (unaff_s7->state).__value.__wchb[0] = cVar14;
        if (cVar14 != '\0') {
          pcVar32 = *(code **)(pcVar32 + -0x7cfc);
          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;
          uVar22 = (*pcVar32)();
          *(undefined4 *)&unaff_s7->next_done = uVar22;
          pcVar32 = (code *)auStack_158._16_4_;
        }
        unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);
        pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);
        pmStack_e4 = pmVar19;
      } while( true );
    }
  }
LAB_000179e4:
  pcVar33 = *(code **)(auStack_158._16_4_ + -0x7d18);
  pbVar17 = pbStack_4c;
  pmVar28 = pmVar19;
  puVar34 = puVar20;
  if (pbStack_4c == *(byte **)auStack_13c) {
    return;
  }
LAB_000180cc:
  pcVar36 = mbscasestr;
  (*pcVar33)();
  puVar23 = *(undefined4 **)(pcVar33 + 0x3338c);
  pcVar32 = *(code **)(pcVar33 + 0x3333c);
  *(undefined4 **)(puVar34 + -0x1b0) = puVar23;
  *(code **)(puVar34 + -0x1d0) = pcVar33 + 0x3b07c;
  *(mbuiter_multi **)(puVar34 + -0x24) = unaff_s1;
  *(mbuiter_multi **)(puVar34 + -0x28) = unaff_s0;
  *(code **)(puVar34 + -4) = pcVar36;
  *(undefined1 **)(puVar34 + -8) = auStack_158;
  *(mbuiter_multi **)(puVar34 + -0xc) = unaff_s7;
  *(mbuiter_multi **)(puVar34 + -0x10) = unaff_s6;
  *(mbuiter_multi ***)(puVar34 + -0x14) = unaff_s5;
  *(mbuiter_multi **)(puVar34 + -0x18) = unaff_s4;
  *(mbuiter_multi **)(puVar34 + -0x1c) = unaff_s3;
  *(mbuiter_multi **)(puVar34 + -0x20) = pmVar28;
  *(mbuiter_multi **)(puVar34 + -0x1b8) = pmVar15;
  *(undefined4 *)(puVar34 + -0x2c) = *puVar23;
  uVar16 = (*pcVar32)();
  iVar7 = *(int *)(puVar34 + -0x1d0);
  if (uVar16 < 2) {
    pcVar32 = *(code **)(iVar7 + -0x7e78);
    pwc = (mbuiter_multi *)auStack_158;
    if (**(byte **)(puVar34 + -0x1b8) != 0) {
      uVar16 = (uint)**(byte **)(puVar34 + -0x1b8);
      *(uint *)(puVar34 + -0x1c0) = uVar16;
      puVar23 = (undefined4 *)(*pcVar32)();
      unaff_s7 = (mbuiter_multi *)*puVar23;
      iVar7 = *(int *)(puVar34 + -0x1d0);
      *(undefined4 **)(puVar34 + -0x1a0) = puVar23;
      if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {
        piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();
        iVar7 = *(int *)(puVar34 + -0x1d0);
        *(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);
      }
      bVar1 = *pbVar17;
      *(int *)(puVar34 + -0x1a8) = *(int *)(puVar34 + -0x1b8) + 1;
      pwc = (mbuiter_multi *)auStack_158;
      if (bVar1 != 0) {
        iVar8 = *(int *)(iVar7 + -0x7fcc);
        *(undefined4 *)(puVar34 + -0x1ac) = 0;
        *(undefined4 *)(puVar34 + -0x1bc) = 1;
        unaff_s3 = (mbuiter_multi *)0x0;
        pwc = (mbuiter_multi *)(puVar34 + -0x198);
        *(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;
        *(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);
        *(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);
        pcVar29 = (char *)0x0;
        pbVar26 = pbVar17;
LAB_000181cc:
        do {
          pbVar17 = pbVar26;
          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&
             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {
            iVar8 = *(int *)(puVar34 + -0x1b4);
            if (iVar8 != 0) {
              iVar9 = (**(code **)(iVar7 + -0x7de8))
                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));
              iVar7 = *(int *)(puVar34 + -0x1d0);
              *(char **)(puVar34 + -0x1ac) = pcVar29;
              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);
              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;
            }
            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);
            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);
            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);
            iVar7 = *(int *)(puVar34 + -0x1d0);
            *(int *)(puVar34 + -0x1bc) = iVar8;
            if (iVar8 != 0) break;
            *(undefined4 *)(puVar34 + -0x1b4) = 0;
            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);
          }
LAB_00018228:
          uVar16 = (uint)*pbVar17;
          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;
          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {
            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;
          }
          else {
            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();
            iVar7 = *(int *)(puVar34 + -0x1d0);
            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {
LAB_00018348:
              pbVar26 = pbVar17 + 1;
              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);
              if (uVar16 == 0) break;
              uVar11 = (uint)(char)*pbVar26;
              if (uVar11 == 0) break;
              pcVar30 = *(char **)(puVar34 + -0x1a8);
              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);
              unaff_s6 = (mbuiter_multi *)pbVar26;
              while( true ) {
                uVar11 = uVar11 & 0xff;
                pcVar29 = pcVar30 + (int)pcVar27;
                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {
                  pcVar32 = *(code **)(iVar7 + -0x7e70);
                  *(uint *)(puVar34 + -0x1c4) = uVar11;
                  *(uint *)(puVar34 + -0x1c8) = uVar16;
                  piVar10 = (int *)(*pcVar32)();
                  iVar7 = *(int *)(puVar34 + -0x1d0);
                  uVar16 = *(uint *)(puVar34 + -0x1c8);
                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);
                }
                uVar16 = uVar16 & 0xff;
                pcVar32 = *(code **)(iVar7 + -0x7e70);
                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {
                  *(uint *)(puVar34 + -0x1c4) = uVar16;
                  *(uint *)(puVar34 + -0x1c8) = uVar11;
                  piVar10 = (int *)(*pcVar32)();
                  iVar7 = *(int *)(puVar34 + -0x1d0);
                  uVar11 = *(uint *)(puVar34 + -0x1c8);
                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);
                }
                pcVar30 = pcVar30 + 1;
                if (uVar11 != uVar16) break;
                uVar16 = (uint)*pcVar30;
                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;
                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))
                goto LAB_000182f0;
              }
              goto LAB_000181cc;
            }
          }
          pbVar17 = pbVar17 + 1;
          pcVar29 = pcVar29 + 1;
          pbVar26 = pbVar17;
        } while (*pbVar17 != 0);
      }
    }
  }
  else {
    _Var2 = pmVar15->in_shift;
    iVar8 = (int)_Var2;
    iVar9 = *(int *)(iVar7 + -0x7ef4);
    pmVar31 = (mbstate_t *)(puVar34 + -0x140);
    *(mbuiter_multi **)(puVar34 + -0x134) = pmVar15;
    *(undefined4 *)(puVar34 + -0x140) = 0;
    *(undefined4 *)(puVar34 + -0x13c) = 0;
    *(int *)(puVar34 + -0x1c8) = iVar9;
    puVar34[-0x144] = 0;
    uVar16 = *(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4);
    puVar34[-0x138] = 0;
    if ((uVar16 >> (_Var2 & 0x1f) & 1) == 0) {
      iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);
      iVar7 = *(int *)(puVar34 + -0x1d0);
      if (iVar8 == 0) goto LAB_00019168;
      pcVar32 = *(code **)(iVar7 + -0x7d40);
      puVar34[-0x144] = 1;
      sVar6 = (*pcVar32)();
      unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8);
      sVar6 = strnlen1(&unaff_s3->in_shift,sVar6);
      pmVar19 = (mbuiter_multi *)(puVar34 + -0x128);
      sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31);
      iVar7 = *(int *)(puVar34 + -0x1d0);
      *(size_t *)(puVar34 + -0x130) = sVar6;
      if (sVar6 == 0xffffffff) {
        puVar34[-300] = 0;
        bVar3 = false;
        *(undefined4 *)(puVar34 + -0x130) = 1;
        puVar34[-0x138] = 1;
        goto LAB_00018454;
      }
      if (sVar6 == 0xfffffffe) {
        bVar3 = false;
        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));
        iVar7 = *(int *)(puVar34 + -0x1d0);
        *(undefined4 *)(puVar34 + -0x130) = uVar22;
        puVar34[-300] = 0;
        puVar34[-0x138] = 1;
        goto LAB_00018454;
      }
      if (sVar6 == 0) {
        *(undefined4 *)(puVar34 + -0x130) = 1;
        iVar8 = *(int *)(iVar7 + -0x7fb0);
        pmVar15 = (mbuiter_multi *)auStack_158;
        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;
        iVar8 = *(int *)(puVar34 + -0x128);
        pmVar15 = (mbuiter_multi *)auStack_158;
        if (iVar8 != 0) goto LAB_0001913c;
      }
      else {
        iVar8 = *(int *)(puVar34 + -0x128);
      }
      pcVar32 = *(code **)(iVar7 + -0x7cf4);
      puVar34[-300] = 1;
      iVar9 = (*pcVar32)(pmVar31);
      iVar7 = *(int *)(puVar34 + -0x1d0);
      if (iVar9 != 0) {
        puVar34[-0x144] = 0;
      }
      puVar34[-0x138] = 1;
    }
    else {
      *(int *)(puVar34 + -0x128) = iVar8;
      *(undefined4 *)(puVar34 + -0x130) = 1;
      puVar34[-300] = 1;
      puVar34[-0x138] = 1;
    }
    if (iVar8 != 0) {
      bVar3 = true;
LAB_00018454:
      unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);
      puVar20 = *(undefined1 **)(puVar34 + -0x134);
      uVar22 = *(undefined4 *)(puVar34 + -0x130);
      *(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8);
      *(undefined4 *)(puVar34 + -0x108) = 0;
      puVar34[-0x10c] = 0;
      *(undefined4 *)(puVar34 + -0x104) = 0;
      puVar34[-0x100] = 0;
      if (puVar20 == puVar34 + -0x124) {
        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);
        iVar7 = *(int *)(puVar34 + -0x1d0);
        *(undefined4 *)(puVar34 + -0x194) = uVar21;
      }
      else {
        *(undefined1 **)(puVar34 + -0x194) = puVar20;
      }
      *(undefined4 *)(puVar34 + -400) = uVar22;
      puVar34[-0x18c] = bVar3;
      if (bVar3) {
        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));
        iVar7 = *(int *)(puVar34 + -0x1d0);
        *(undefined4 *)(puVar34 + -0x188) = uVar22;
      }
      puVar34[-0xd4] = 0;
      unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0);
      *(undefined4 *)(puVar34 + -0xd0) = 0;
      *(undefined4 *)(puVar34 + -0x1b4) = 1;
      unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8);
      iVar8 = *(int *)(iVar7 + -0x7fcc);
      pwc = (mbuiter_multi *)(puVar34 + -0x80);
      *(undefined4 *)(puVar34 + -0xcc) = 0;
      *(undefined4 *)(puVar34 + -0x1ac) = 0;
      *(byte **)(puVar34 + -0xc4) = pbVar17;
      *(undefined4 *)(puVar34 + -0x1bc) = 0;
      *(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8;
      *(undefined4 *)(puVar34 + -0x1c0) = 0;
      puVar34[-200] = 0;
      pbVar26 = pbVar17;
      if (puVar34[-0xd4] != '\0') goto LAB_000188e0;
      goto LAB_000184f0;
    }
  }
LAB_000182f0:
  if (*(int *)(puVar34 + -0x2c) == **(int **)(puVar34 + -0x1b0)) {
    return;
  }
LAB_000191b0:
  (**(code **)(iVar7 + -0x7d18))();
LAB_000191bc:
  iVar8 = *(int *)(puVar34 + -0xf0);
LAB_00018e94:
  *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);
  if (iVar8 != 0) goto LAB_0001856c;
  uVar22 = *(undefined4 *)(puVar34 + -0x1b8);
  while( true ) {
    iVar8 = (**(code **)(puVar34 + -0x1a8))(pbVar17,uVar22,puVar34 + -0x198);
    iVar7 = *(int *)(puVar34 + -0x1d0);
    *(int *)(puVar34 + -0x1b4) = iVar8;
    if (iVar8 != 0) break;
    *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);
LAB_0001856c:
    do {
      iVar8 = *(int *)(puVar34 + -0x1c0);
      do {
        do {
          puVar20 = *(undefined1 **)(puVar34 + -0xc4);
          iVar9 = *(int *)(puVar34 + -0xc0);
          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;
          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;
          if (puVar20 == puVar34 + -0xb4) {
            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);
            iVar7 = *(int *)(puVar34 + -0x1d0);
            *(undefined4 *)(puVar34 + -0x16c) = uVar22;
          }
          else {
            *(undefined1 **)(puVar34 + -0x16c) = puVar20;
          }
          *(int *)(puVar34 + -0x168) = iVar9;
          puVar34[-0x164] = puVar34[-0xbc];
          if (puVar34[-0xbc] == '\0') {
LAB_00018a5c:
            iVar12 = *(int *)(puVar34 + -0xc4);
            if (*(int *)(puVar34 + -400) == iVar9) {
              iVar12 = (**(code **)(iVar7 + -0x7d10))
                                 (*(undefined4 *)(puVar34 + -0x16c),
                                  *(undefined4 *)(puVar34 + -0x194),iVar9);
              iVar7 = *(int *)(puVar34 + -0x1d0);
              if (iVar12 == 0) goto LAB_000185d0;
              goto LAB_000188c4;
            }
          }
          else {
            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));
            iVar7 = *(int *)(puVar34 + -0x1d0);
            *(int *)(puVar34 + -0x160) = iVar12;
            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;
            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;
LAB_000185d0:
            puVar23 = (undefined4 *)(puVar34 + -0xd4);
            puVar5 = (undefined4 *)(puVar34 + -0x9c);
            do {
              puVar18 = puVar5;
              puVar13 = puVar23;
              puVar23 = puVar13 + 4;
              uVar24 = puVar13[1];
              uVar21 = puVar13[2];
              uVar22 = puVar13[3];
              *puVar18 = *puVar13;
              puVar18[1] = uVar24;
              puVar18[2] = uVar21;
              puVar18[3] = uVar22;
              puVar5 = puVar18 + 4;
            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));
            pbVar26 = *(byte **)(puVar34 + -0x1b8);
            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;
            bVar1 = *pbVar26;
            iVar8 = (int)(char)bVar1;
            uVar22 = puVar13[5];
            puVar18[4] = *puVar23;
            puVar18[5] = uVar22;
            puVar34[-0x90] = 0;
            *(byte **)(puVar34 + -0x54) = pbVar26;
            puVar34[-100] = 0;
            *(undefined4 *)(puVar34 + -0x60) = 0;
            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);
            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;
            *(undefined4 *)(puVar34 + -0x5c) = 0;
            puVar34[-0x58] = 0;
            pmVar35 = pwc;
            pmVar15 = pwc;
            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {
              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);
              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);
              iVar7 = *(int *)(puVar34 + -0x1d0);
              if (iVar8 == 0) goto LAB_00019168;
              pcVar32 = *(code **)(iVar7 + -0x7d40);
              puVar34[-100] = 1;
              sVar6 = (*pcVar32)();
              pcVar29 = *(char **)(puVar34 + -0x1b8);
              sVar6 = strnlen1(pcVar29,sVar6);
              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);
              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);
              iVar7 = *(int *)(puVar34 + -0x1d0);
              *(size_t *)(puVar34 + -0x50) = sVar6;
              if (sVar6 == 0xffffffff) {
                iVar8 = *(int *)(puVar34 + -0x54);
                puVar34[-0x4c] = 0;
                *(undefined4 *)(puVar34 + -0x50) = 1;
              }
              else {
                if (sVar6 != 0xfffffffe) {
                  if (sVar6 == 0) {
                    *(undefined4 *)(puVar34 + -0x50) = 1;
                    iVar8 = *(int *)(puVar34 + -0x48);
                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;
                    if (iVar8 != 0) goto LAB_0001913c;
                  }
                  else {
                    iVar8 = *(int *)(puVar34 + -0x48);
                  }
                  pcVar32 = *(code **)(iVar7 + -0x7cf4);
                  *(int *)(puVar34 + -0x1a4) = iVar8;
                  puVar34[-0x4c] = 1;
                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));
                  iVar7 = *(int *)(puVar34 + -0x1d0);
                  iVar8 = *(int *)(puVar34 + -0x1a4);
                  if (iVar9 != 0) {
                    puVar34[-100] = 0;
                  }
                  puVar34[-0x58] = 1;
                  goto joined_r0x00018e34;
                }
                iVar8 = *(int *)(puVar34 + -0x54);
                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);
                iVar7 = *(int *)(puVar34 + -0x1d0);
                *(undefined4 *)(puVar34 + -0x50) = uVar22;
                puVar34[-0x4c] = 0;
              }
            }
            else {
              *(int *)(puVar34 + -0x48) = iVar8;
              *(undefined4 *)(puVar34 + -0x50) = 1;
              puVar34[-0x4c] = 1;
              puVar34[-0x58] = 1;
joined_r0x00018e34:
              if (iVar8 == 0) {
                (**(code **)(iVar7 + -0x7e50))();
                goto LAB_00018e48;
              }
              iVar8 = *(int *)(puVar34 + -0x54);
            }
            puVar34[-0x58] = 0;
            pmVar31 = (mbstate_t *)(puVar34 + -0x98);
            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));
            *(byte **)(puVar34 + -0x54) = pbVar26;
            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;
LAB_000187b4:
            if (puVar34[-100] == '\0') {
              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>
                   (*pbVar26 & 0x1f) & 1) == 0) {
                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));
                iVar7 = *(int *)(puVar34 + -0x1d0);
                if (iVar9 != 0) {
                  puVar34[-100] = 1;
                  goto LAB_000187c0;
                }
                goto LAB_00019168;
              }
              *(undefined4 *)(puVar34 + -0x50) = 1;
              iVar9 = (int)(char)*pbVar26;
              puVar34[-0x4c] = 1;
              puVar34[-0x58] = 1;
              *(int *)(puVar34 + -0x48) = iVar9;
joined_r0x000186e4:
              if (iVar9 == 0) goto LAB_000182f0;
            }
            else {
LAB_000187c0:
              sVar6 = (**(code **)(iVar7 + -0x7d40))();
              sVar6 = strnlen1((char *)pbVar26,sVar6);
              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);
              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,
                                  *(mbstate_t **)(puVar34 + -0x1c4));
              iVar7 = *(int *)(puVar34 + -0x1d0);
              *(size_t *)(puVar34 + -0x50) = sVar6;
              if (sVar6 == 0xffffffff) {
                puVar34[-0x4c] = 0;
                *(undefined4 *)(puVar34 + -0x50) = 1;
                puVar34[-0x58] = 1;
              }
              else {
                if (sVar6 != 0xfffffffe) {
                  if (sVar6 == 0) {
                    *(undefined4 *)(puVar34 + -0x50) = 1;
                    iVar9 = *(int *)(puVar34 + -0x48);
                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;
                    if (iVar9 != 0) goto LAB_0001913c;
                  }
                  else {
                    iVar9 = *(int *)(puVar34 + -0x48);
                  }
                  pcVar32 = *(code **)(iVar7 + -0x7cf4);
                  *(int *)(puVar34 + -0x1bc) = iVar9;
                  puVar34[-0x4c] = 1;
                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));
                  iVar7 = *(int *)(puVar34 + -0x1d0);
                  iVar9 = *(int *)(puVar34 + -0x1bc);
                  if (iVar12 != 0) {
                    puVar34[-100] = 0;
                  }
                  puVar34[-0x58] = 1;
                  goto joined_r0x000186e4;
                }
                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));
                iVar7 = *(int *)(puVar34 + -0x1d0);
                *(undefined4 *)(puVar34 + -0x50) = uVar22;
                puVar34[-0x4c] = 0;
                puVar34[-0x58] = 1;
              }
            }
            if (puVar34[-0x90] != '\0') {
              iVar9 = *(int *)(puVar34 + -0x88);
              if (puVar34[-0x84] != '\0') {
                iVar12 = *(int *)(puVar34 + -0x80);
                goto LAB_00018740;
              }
LAB_000188b4:
              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;
              iVar9 = (**(code **)(iVar7 + -0x7d10))
                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));
              iVar7 = *(int *)(puVar34 + -0x1d0);
              bVar3 = iVar9 != 0;
LAB_00018780:
              if (bVar3) goto LAB_000188c0;
              puVar34[-0x90] = 0;
              puVar34[-0x58] = 0;
              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);
              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));
              *(byte **)(puVar34 + -0x54) = pbVar26;
              iVar8 = iVar8 + 1;
              goto LAB_000187b4;
            }
            pbVar26 = *(byte **)(puVar34 + -0x8c);
            if (puVar34[-0x9c] == '\0') {
              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>
                   (*pbVar26 & 0x1f) & 1) != 0) {
                *(undefined4 *)(puVar34 + -0x88) = 1;
                iVar12 = (int)(char)*pbVar26;
                puVar34[-0x84] = 1;
                puVar34[-0x90] = 1;
                *(int *)(puVar34 + -0x80) = iVar12;
                goto LAB_00018740;
              }
              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);
              iVar7 = *(int *)(puVar34 + -0x1d0);
              if (iVar9 == 0) goto LAB_00019168;
              puVar34[-0x9c] = 1;
            }
            sVar6 = (**(code **)(iVar7 + -0x7d40))();
            sVar6 = strnlen1((char *)pbVar26,sVar6);
            pmVar19 = pwc;
            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);
            iVar7 = *(int *)(puVar34 + -0x1d0);
            *(size_t *)(puVar34 + -0x88) = sVar6;
            if (sVar6 == 0xffffffff) {
              puVar34[-0x84] = 0;
              *(undefined4 *)(puVar34 + -0x88) = 1;
              puVar34[-0x90] = 1;
              iVar9 = *(int *)(puVar34 + -0x88);
              goto LAB_000188b4;
            }
            if (sVar6 != 0xfffffffe) {
              if (sVar6 == 0) {
                *(undefined4 *)(puVar34 + -0x88) = 1;
                iVar12 = *(int *)(puVar34 + -0x80);
                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;
                if (iVar12 != 0) goto LAB_0001913c;
              }
              else {
                iVar12 = *(int *)(puVar34 + -0x80);
              }
              pcVar32 = *(code **)(iVar7 + -0x7cf4);
              puVar34[-0x84] = 1;
              iVar9 = (*pcVar32)(pmVar31);
              iVar7 = *(int *)(puVar34 + -0x1d0);
              if (iVar9 != 0) {
                puVar34[-0x9c] = 0;
              }
              puVar34[-0x90] = 1;
LAB_00018740:
              if (iVar12 == 0) goto LAB_000182f0;
              iVar9 = *(int *)(puVar34 + -0x88);
              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;
              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);
              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))
                                 (*(undefined4 *)(puVar34 + -0x48));
              iVar7 = *(int *)(puVar34 + -0x1d0);
              bVar3 = iVar9 != iVar12;
              goto LAB_00018780;
            }
            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));
            *(undefined4 *)(puVar34 + -0x88) = uVar22;
            puVar34[-0x84] = 0;
            puVar34[-0x90] = 1;
            iVar7 = *(int *)(puVar34 + -0x1d0);
            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {
              FUN_0001896c();
              return;
            }
LAB_000188c0:
            iVar9 = *(int *)(puVar34 + -0xc0);
LAB_000188c4:
            iVar12 = *(int *)(puVar34 + -0xc4);
          }
          *(int *)(puVar34 + -0x1bc) = iVar8;
          pbVar26 = (byte *)(iVar12 + iVar9);
          puVar34[-200] = 0;
          *(byte **)(puVar34 + -0xc4) = pbVar26;
          if (puVar34[-0xd4] == '\0') {
LAB_000184f0:
            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>
                 (*pbVar26 & 0x1f) & 1) == 0) {
              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);
              iVar7 = *(int *)(puVar34 + -0x1d0);
              pmVar35 = pwc;
              if (iVar8 != 0) {
                puVar34[-0xd4] = 1;
                goto LAB_000188e0;
              }
              goto LAB_00019168;
            }
            *(undefined4 *)(puVar34 + -0xc0) = 1;
            iVar8 = (int)(char)*pbVar26;
            puVar34[-0xbc] = 1;
            puVar34[-200] = 1;
            *(int *)(puVar34 + -0xb8) = iVar8;
LAB_00018530:
            if (iVar8 == 0) goto LAB_000182f0;
          }
          else {
LAB_000188e0:
            sVar6 = (**(code **)(iVar7 + -0x7d40))();
            sVar6 = strnlen1((char *)pbVar26,sVar6);
            pmVar19 = unaff_s7;
            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);
            iVar7 = *(int *)(puVar34 + -0x1d0);
            *(size_t *)(puVar34 + -0xc0) = sVar6;
            if (sVar6 == 0xffffffff) {
              puVar34[-0xbc] = 0;
              *(undefined4 *)(puVar34 + -0xc0) = 1;
              puVar34[-200] = 1;
            }
            else {
              if (sVar6 != 0xfffffffe) {
                if (sVar6 == 0) {
                  *(undefined4 *)(puVar34 + -0xc0) = 1;
                  iVar8 = *(int *)(iVar7 + -0x7fb0);
                  pmVar15 = pwc;
                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;
                  iVar8 = *(int *)(puVar34 + -0xb8);
                  if (iVar8 != 0) goto LAB_0001913c;
                }
                else {
                  iVar8 = *(int *)(puVar34 + -0xb8);
                }
                pcVar32 = *(code **)(iVar7 + -0x7cf4);
                puVar34[-0xbc] = 1;
                iVar9 = (*pcVar32)(unaff_s6);
                iVar7 = *(int *)(puVar34 + -0x1d0);
                if (iVar9 != 0) {
                  puVar34[-0xd4] = 0;
                }
                puVar34[-200] = 1;
                goto LAB_00018530;
              }
              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));
              iVar7 = *(int *)(puVar34 + -0x1d0);
              *(undefined4 *)(puVar34 + -0xc0) = uVar22;
              puVar34[-0xbc] = 0;
              puVar34[-200] = 1;
            }
          }
          iVar8 = *(int *)(puVar34 + -0x1c0);
        } while (*(int *)(puVar34 + -0x1b4) == 0);
        iVar8 = *(int *)(puVar34 + -0x1c0);
      } while (*(uint *)(puVar34 + -0x1c0) < 10);
    } while (*(uint *)(puVar34 + -0x1bc) < *(uint *)(puVar34 + -0x1c0) * 5);
    iVar9 = *(uint *)(puVar34 + -0x1bc) - *(int *)(puVar34 + -0x1ac);
    uVar16 = (uint)(byte)puVar34[-0x100];
    if (iVar9 == 0) goto LAB_00019144;
    if (uVar16 == 0) {
      pbVar26 = *(byte **)(puVar34 + -0xfc);
      goto LAB_00018c10;
    }
    iVar8 = *(int *)(puVar34 + -0xf0);
    if (puVar34[-0xf4] != '\0') goto LAB_00018c58;
    do {
      pcVar29 = *(char **)(puVar34 + -0xfc);
      while( true ) {
        while( true ) {
          iVar9 = iVar9 + -1;
          puVar34[-0x100] = 0;
          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));
          *(byte **)(puVar34 + -0xfc) = pbVar26;
          if (iVar9 == 0) goto LAB_00018e4c;
LAB_00018c10:
          if (puVar34[-0x10c] == '\0') {
            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>
                 (*pbVar26 & 0x1f) & 1) != 0) {
              *(undefined4 *)(puVar34 + -0xf8) = 1;
              iVar8 = (int)(char)*pbVar26;
              puVar34[-0xf4] = 1;
              puVar34[-0x100] = 1;
              *(int *)(puVar34 + -0xf0) = iVar8;
              goto LAB_00018c58;
            }
            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);
            iVar7 = *(int *)(puVar34 + -0x1d0);
            pmVar35 = pwc;
            if (iVar8 == 0) goto LAB_00019168;
            puVar34[-0x10c] = 1;
          }
          sVar6 = (**(code **)(iVar7 + -0x7d40))();
          sVar6 = strnlen1((char *)pbVar26,sVar6);
          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);
          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);
          iVar7 = *(int *)(puVar34 + -0x1d0);
          *(size_t *)(puVar34 + -0xf8) = sVar6;
          if (sVar6 != 0xffffffff) break;
          pcVar29 = *(char **)(puVar34 + -0xfc);
          puVar34[-0xf4] = 0;
          *(undefined4 *)(puVar34 + -0xf8) = 1;
        }
        pcVar29 = *(char **)(puVar34 + -0xfc);
        if (sVar6 != 0xfffffffe) break;
        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);
        iVar7 = *(int *)(puVar34 + -0x1d0);
        *(undefined4 *)(puVar34 + -0xf8) = uVar22;
        puVar34[-0xf4] = 0;
      }
      if (sVar6 == 0) {
        *(undefined4 *)(puVar34 + -0xf8) = 1;
        iVar8 = *(int *)(iVar7 + -0x7fb0);
        pmVar15 = pwc;
        if (*pcVar29 != '\0') goto LAB_00019190;
        iVar8 = *(int *)(puVar34 + -0xf0);
        if (iVar8 != 0) goto LAB_0001913c;
      }
      else {
        iVar8 = *(int *)(puVar34 + -0xf0);
      }
      pcVar32 = *(code **)(iVar7 + -0x7cf4);
      puVar34[-0xf4] = 1;
      iVar12 = (*pcVar32)(unaff_s3);
      iVar7 = *(int *)(puVar34 + -0x1d0);
      if (iVar12 != 0) {
        puVar34[-0x10c] = 0;
      }
      puVar34[-0x100] = 1;
LAB_00018c58:
    } while (iVar8 != 0);
    uVar22 = *(undefined4 *)(puVar34 + -0x1b8);
    if (puVar34[-0x100] == '\0') {
LAB_00018e48:
      do {
        pbVar26 = *(byte **)(puVar34 + -0xfc);
LAB_00018e4c:
        if (puVar34[-0x10c] == '\0') {
          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>
               (*pbVar26 & 0x1f) & 1) != 0) {
            *(undefined4 *)(puVar34 + -0xf8) = 1;
            iVar8 = (int)(char)*pbVar26;
            puVar34[-0xf4] = 1;
            puVar34[-0x100] = 1;
            *(int *)(puVar34 + -0xf0) = iVar8;
            goto LAB_00018e94;
          }
          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);
          iVar7 = *(int *)(puVar34 + -0x1d0);
          pmVar35 = pwc;
          if (iVar8 == 0) goto LAB_00019168;
          puVar34[-0x10c] = 1;
        }
        sVar6 = (**(code **)(iVar7 + -0x7d40))();
        sVar6 = strnlen1((char *)pbVar26,sVar6);
        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);
        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);
        iVar7 = *(int *)(puVar34 + -0x1d0);
        *(size_t *)(puVar34 + -0xf8) = sVar6;
        if (sVar6 == 0xffffffff) {
          puVar34[-0xf4] = 0;
          *(undefined4 *)(puVar34 + -0xf8) = 1;
          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);
          puVar34[-0x100] = 1;
          goto LAB_0001856c;
        }
        if (sVar6 == 0xfffffffe) {
          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));
          *(undefined4 *)(puVar34 + -0xf8) = uVar22;
          iVar7 = *(int *)(puVar34 + -0x1d0);
          puVar34[-0xf4] = 0;
          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);
          puVar34[-0x100] = 1;
          goto LAB_0001856c;
        }
        if (sVar6 != 0) {
          iVar8 = *(int *)(puVar34 + -0xf0);
          pcVar32 = *(code **)(iVar7 + -0x7cf4);
LAB_00019000:
          puVar34[-0xf4] = 1;
          iVar9 = (*pcVar32)(unaff_s3);
          iVar7 = *(int *)(puVar34 + -0x1d0);
          if (iVar9 != 0) {
            puVar34[-0x10c] = 0;
          }
          puVar34[-0x100] = 1;
          goto LAB_00018e94;
        }
        *(undefined4 *)(puVar34 + -0xf8) = 1;
        iVar8 = *(int *)(iVar7 + -0x7fb0);
        pmVar15 = pwc;
        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;
        iVar8 = *(int *)(puVar34 + -0xf0);
        pcVar32 = *(code **)(iVar7 + -0x7cf4);
        if (iVar8 == 0) goto LAB_00019000;
LAB_0001913c:
        uVar16 = 0;
        mbuiter_multi_next(pmVar19);
        pwc = pmVar15;
LAB_00019144:
      } while (uVar16 == 0);
      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;
      *(uint *)(puVar34 + -0x1b4) = uVar16;
      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);
      goto LAB_0001856c;
    }
  }
  goto LAB_000182f0;
LAB_000177b8:
  acStack_ec[4] = '\x01';
  pcStack_128[4] = '\0';
  pcStack_128[5] = '\0';
  pcStack_128[6] = '\0';
  pcStack_128[7] = '\x01';
  if ((undefined1 *)0x2 < puStack_138) {
    unaff_s3 = (mbuiter_multi *)0x0;
    unaff_s7 = (mbuiter_multi *)0x2;
    pmVar15 = pmStack_124;
LAB_000177e0:
    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);
    cVar14 = (pmVar15->cur).buf[0x10];
    do {
      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;
      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {
        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {
          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);
          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);
          pcVar32 = (code *)auStack_158._16_4_;
          if (iVar7 == 0) goto LAB_00017858;
        }
      }
      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {
LAB_00017858:
        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;
        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;
        goto LAB_0001786c;
      }
      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;
      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));
    } while( true );
  }
LAB_0001787c:
  unaff_s0 = (mbuiter_multi *)(auStack_d4 + 0x1c);
  unaff_s6 = (mbuiter_multi *)auStack_80;
  in_t5 = (mbuiter_multi *)0x0;
  auStack_d4._28_4_ = 0;
  iStack_12c = *(int *)(pcVar32 + -0x7ef4);
  unaff_s5 = apmStack_68;
  unaff_s1 = (mbuiter_multi *)(apmStack_68 + 1);
  unaff_s4 = (mbuiter_multi *)auStack_10c;
  uStack_b4 = 0;
  pmVar28 = (mbuiter_multi *)apmStack_a0;
  auStack_80._0_4_ = 0;
  pmStack_ac = pmStack_130;
  *(undefined4 *)auStack_158._24_4_ = 0;
  auStack_80._4_4_ = 0;
  auStack_d4[0x18] = '\0';
  cStack_b0 = '\0';
  auStack_80._12_4_ = pmStack_130;
  cStack_84 = '\0';
  auStack_80[8] = '\0';
joined_r0x000178d8:
  if (auStack_80[8] == '\0') goto LAB_00017974;
  pmVar15 = (mbuiter_multi *)(uint)bStack_6c;
  pmVar4 = apmStack_68[0];
  if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_000178f4;
joined_r0x000178ec:
  pmVar15 = (mbuiter_multi *)0x1;
  if (pmVar4 != (mbuiter_multi *)0x0) {
LAB_000178f4:
    unaff_s7 = pmStack_70;
    if ((mbuiter_multi *)auStack_80._12_4_ == unaff_s1) goto LAB_00017ea0;
    pmStack_11c = (mbuiter_multi *)auStack_80._12_4_;
LAB_00017904:
    pmStack_118 = unaff_s7;
    uStack_114 = (char)pmVar15;
    unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8);
    pmVar25 = (mbuiter_multi *)((int)in_t5 * 4);
    if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_00017af0;
    pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4);
    pmStack_130 = in_t5;
    iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0]);
    pmVar25 = pmStack_134;
    in_t5 = pmStack_130;
    pcVar32 = (code *)auStack_158._16_4_;
    if (((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')
    goto LAB_00017af0;
    pmVar15 = pmVar19;
    if (iStack_110 != *(int *)&unaff_s3->next_done) goto LAB_00017afc;
    in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;
    auStack_80[8] = '\0';
    auStack_80._12_4_ =
         (mbuiter_multi *)
         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);
    pmVar19 = pmVar28;
    if ((mbuiter_multi *)puStack_138 != in_t5) {
LAB_00017974:
      pcVar33 = *(code **)(pcVar32 + -0x7d40);
      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;
      if (cStack_84 != '\0') goto LAB_00017b90;
      while( true ) {
        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;
        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>
             ((uint)pmVar19 & 0x1f) & 1) != 0) break;
        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;
        pmStack_130 = in_t5;
        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);
        pcVar32 = (code *)auStack_158._16_4_;
        if (iVar7 == 0) goto LAB_000180a8;
        cStack_84 = '\x01';
        pmVar19 = pmStack_134;
        in_t5 = pmStack_130;
        do {
          pcVar33 = *(code **)(pcVar32 + -0x7d40);
LAB_00017b90:
          pmStack_134 = in_t5;
          pmStack_130 = pmVar19;
          sVar6 = (*pcVar33)();
          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);
          pmVar19 = pmStack_130;
          pmVar25 = unaff_s6;
          pmStack_70 = (mbuiter_multi *)
                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,
                                   (mbstate_t *)unaff_s6);
          pmVar4 = apmStack_68[0];
          in_t5 = pmStack_134;
          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {
            bStack_6c = 0;
            pmVar15 = (mbuiter_multi *)0x0;
            pmStack_70 = (mbuiter_multi *)0x1;
            auStack_80[8] = '\x01';
            pcVar32 = (code *)auStack_158._16_4_;
            goto LAB_000178f4;
          }
          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {
            pmStack_130 = pmStack_134;
            pmStack_70 = (mbuiter_multi *)
                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);
            pmVar15 = (mbuiter_multi *)0x0;
            bStack_6c = 0;
            auStack_80[8] = '\x01';
            in_t5 = pmStack_130;
            pcVar32 = (code *)auStack_158._16_4_;
            goto LAB_000178f4;
          }
          if (pmStack_70 != (mbuiter_multi *)0x0) {
LAB_00017c00:
            unaff_s7 = (mbuiter_multi *)0x1;
            pmStack_130 = pmStack_134;
            bStack_6c = 1;
            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);
            if (iVar7 != 0) {
              cStack_84 = '\0';
            }
            auStack_80[8] = '\x01';
            in_t5 = pmStack_130;
            pcVar32 = (code *)auStack_158._16_4_;
            goto joined_r0x000178ec;
          }
          pmStack_70 = (mbuiter_multi *)0x1;
          unaff_s3 = apmStack_68[0];
          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;
          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;
LAB_00017ae8:
          do {
            pcVar32 = (code *)auStack_158._16_4_;
            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);
LAB_00017af0:
            pmVar15 = pmVar19;
            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch
                 == unaff_s7) &&
               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,
               iVar7 = (**(code **)(pcVar32 + -0x7d10))
                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),
               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,
               iVar7 == 0)) {
              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;
              auStack_80[8] = '\0';
              auStack_80._12_4_ =
                   (mbuiter_multi *)
                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);
              pmVar19 = pmVar28;
              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;
              goto LAB_00017974;
            }
LAB_00017afc:
            pmVar19 = pmStack_ac;
            if (in_t5 != (mbuiter_multi *)0x0) {
              unaff_s7 = *(mbuiter_multi **)
                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));
              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);
              pmVar19 = pmVar15;
              if (unaff_s7 != (mbuiter_multi *)0x0) {
                if (cStack_b0 == '\0') goto LAB_00017d0c;
                unaff_s3 = apmStack_a0[0];
                if (cStack_a4 != '\0') goto LAB_00017d54;
                goto LAB_00017cf4;
              }
              goto joined_r0x000178d8;
            }
            if (cStack_b0 != '\0') {
              unaff_s3 = apmStack_a0[0];
              if (cStack_a4 != '\0') goto LAB_00017b54;
              goto LAB_00017b60;
            }
            if (auStack_d4[0x18] == '\0') {
              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>
                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {
                puStack_a8 = (undefined1 *)0x1;
                cStack_a4 = '\x01';
                cStack_b0 = '\x01';
                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;
                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;
                goto LAB_00017b54;
              }
              pmStack_130 = in_t5;
              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);
              unaff_s3 = pmVar19;
              pcVar32 = (code *)auStack_158._16_4_;
              if (iVar7 == 0) goto LAB_000180a8;
              auStack_d4[0x18] = '\x01';
              in_t5 = pmStack_130;
            }
            pmStack_130 = in_t5;
            sVar6 = (**(code **)(pcVar32 + -0x7d40))();
            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);
            pmVar25 = unaff_s0;
            puStack_a8 = (undefined1 *)
                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,
                                     (mbstate_t *)unaff_s0);
            unaff_s3 = apmStack_a0[0];
            pmVar15 = pmStack_ac;
            in_t5 = pmStack_130;
            if (puStack_a8 == (undefined1 *)0xffffffff) {
              cStack_a4 = '\0';
              puStack_a8 = (undefined1 *)0x1;
              pmStack_ac = pmVar15;
              pcVar32 = (code *)auStack_158._16_4_;
              goto LAB_00017b60;
            }
            if (puStack_a8 == &SUB_fffffffe) {
              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);
              cStack_a4 = '\0';
              in_t5 = pmStack_130;
              pmStack_ac = pmVar15;
              pcVar32 = (code *)auStack_158._16_4_;
              goto LAB_00017b60;
            }
            if (puStack_a8 != (undefined1 *)0x0) break;
            puStack_a8 = (undefined1 *)0x1;
            if (pmStack_ac->in_shift != false) goto LAB_00018084;
          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);
          unaff_s7 = (mbuiter_multi *)0x1;
          cStack_a4 = '\x01';
          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);
          if (iVar7 != 0) {
            auStack_d4[0x18] = '\0';
          }
          cStack_b0 = '\x01';
          in_t5 = pmStack_130;
          pcVar32 = (code *)auStack_158._16_4_;
LAB_00017b54:
          pcVar33 = *(code **)(pcVar32 + -0x7e50);
          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;
LAB_00017b60:
          cStack_b0 = '\0';
          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);
          auStack_80[8] = '\0';
          pmStack_ac = unaff_s3;
          pmVar19 = (mbuiter_multi *)
                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);
          auStack_80._12_4_ = pmVar19;
        } while (cStack_84 != '\0');
      }
      pmStack_70 = (mbuiter_multi *)0x1;
      bStack_6c = 1;
      auStack_80[8] = '\x01';
      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;
      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;
      goto joined_r0x000178ec;
    }
LAB_00017c74:
    auStack_80[8] = '\0';
    *(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac;
    freea(pmStack_124);
    goto LAB_000179e4;
  }
  freea(pmStack_124);
  unaff_s3 = (mbuiter_multi *)0x0;
  pmVar15 = pmVar19;
  pmVar19 = pmVar28;
  goto LAB_000179e4;
LAB_00017eec:
  *(mbuiter_multi **)(pcStack_128 + (int)unaff_s7 * 4) = unaff_s7;
LAB_0001786c:
  unaff_s7 = (mbuiter_multi *)((int)unaff_s7 + 1);
  pmVar15 = pmVar28;
  if ((mbuiter_multi *)puStack_138 == unaff_s7) goto LAB_0001787c;
  goto LAB_000177e0;
LAB_00017d5c:
  (*pcVar33)();
LAB_00017d64:
  iVar7 = (*pcVar33)(unaff_s0);
  pcVar32 = (code *)auStack_158._16_4_;
  if (iVar7 == 0) goto LAB_000180a8;
  auStack_d4[0x18] = '\x01';
  pmVar15 = unaff_s3;
LAB_00017d7c:
  sVar6 = (**(code **)(pcVar32 + -0x7d40))();
  sVar6 = strnlen1(&pmVar15->in_shift,sVar6);
  puStack_a8 = (undefined1 *)
               rpl_mbrtowc((wchar_t *)pmVar28,&pmVar15->in_shift,sVar6,(mbstate_t *)unaff_s0);
  unaff_s3 = apmStack_a0[0];
  pmVar19 = pmStack_ac;
  pcVar32 = (code *)auStack_158._16_4_;
  if (puStack_a8 == (undefined1 *)0xffffffff) {
    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);
    cStack_a4 = '\0';
    puStack_a8 = (undefined1 *)0x1;
    cStack_b0 = '\0';
    unaff_s3 = (mbuiter_multi *)&pmStack_ac->field_0x1;
    pmStack_ac = unaff_s3;
    if (unaff_s7 != (mbuiter_multi *)0x0) goto LAB_00017d0c;
LAB_00017e34:
    cStack_b0 = '\0';
    pmVar19 = pmVar15;
    in_t5 = pmStack_130;
    pmStack_ac = unaff_s3;
    goto joined_r0x000178d8;
  }
  if (puStack_a8 == &SUB_fffffffe) {
    puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);
    cStack_a4 = '\0';
    pmStack_ac = pmVar19;
    pcVar32 = (code *)auStack_158._16_4_;
    goto LAB_00017cf4;
  }
  if (puStack_a8 == (undefined1 *)0x0) {
    puStack_a8 = (undefined1 *)0x1;
    if (pmStack_ac->in_shift != false) goto LAB_00018084;
    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);
    if (apmStack_a0[0] != (mbuiter_multi *)0x0) goto code_r0x00017e7c;
  }
  else {
    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);
  }
  cStack_a4 = '\x01';
  iVar7 = (*pcVar33)(unaff_s0);
  pmVar15 = (mbuiter_multi *)0x1;
  if (iVar7 != 0) {
    auStack_d4[0x18] = '\0';
  }
  cStack_b0 = '\x01';
  pcVar32 = (code *)auStack_158._16_4_;
LAB_00017d54:
  while( true ) {
    pcVar33 = *(code **)(pcVar32 + -0x7e50);
    if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;
LAB_00017cf4:
    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);
    cStack_b0 = '\0';
    unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);
    pmStack_ac = unaff_s3;
    if (unaff_s7 == (mbuiter_multi *)0x0) goto LAB_00017e34;
LAB_00017d0c:
    pmVar15 = pmStack_ac;
    if (auStack_d4[0x18] != '\0') break;
    pmVar15 = (mbuiter_multi *)(uint)pmStack_ac->in_shift;
    pcVar33 = *(code **)(pcVar32 + -0x7cf4);
    unaff_s3 = pmStack_ac;
    if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>
         ((uint)pmVar15 & 0x1f) & 1) == 0) goto LAB_00017d64;
    puStack_a8 = (undefined1 *)0x1;
    cStack_a4 = '\x01';
    cStack_b0 = '\x01';
    apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;
    unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;
  }
  goto LAB_00017d7c;
LAB_00018084:
  pcVar32 = (code *)auStack_158._16_4_;
  (**(code **)(auStack_158._16_4_ + -0x7e74))
            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79f8,
             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb2,
             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);
LAB_000180a8:
  pcVar33 = *(code **)(pcVar32 + -0x7e74);
  pmVar15 = (mbuiter_multi *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a30);
  pbVar17 = (byte *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a10);
  (*pcVar33)(pbVar17,pmVar15,0x96,*(int *)(pcVar32 + -0x7fb0) + -0x79e0);
  goto LAB_000180cc;
code_r0x00017e7c:
  (**(code **)(auStack_158._16_4_ + -0x7e74))
            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24,
             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb3,
             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);
  pmVar15 = extraout_v1;
LAB_00017ea0:
  pmVar19 = unaff_s1;
  pmStack_134 = in_t5;
  pmStack_130 = pmVar15;
  (**(code **)(pcVar32 + -0x7d74))(unaff_s4,unaff_s1,unaff_s7,0x18);
  pmStack_11c = unaff_s4;
  pmVar15 = pmStack_130;
  in_t5 = pmStack_134;
  pcVar32 = (code *)auStack_158._16_4_;
  goto LAB_00017904;
LAB_00019168:
  (**(code **)(iVar7 + -0x7e74))
            (*(int *)(iVar7 + -0x7fb0) + -0x7a10,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0x96,
             *(int *)(iVar7 + -0x7fb0) + -0x79e0);
  pwc = pmVar35;
LAB_0001918c:
  iVar8 = *(int *)(iVar7 + -0x7fb0);
  pmVar15 = pwc;
LAB_00019190:
  pwc = pmVar15;
  (**(code **)(iVar7 + -0x7e74))
            (*(int *)(iVar7 + -0x7fb0) + -0x79f8,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0xb2,
             iVar8 + -0x79e0);
  goto LAB_000191b0;
}



void FUN_00017540(void)

{
  (*(code *)PTR___assert_fail_0004b2dc)
            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);
  return;
}


lui gp,0x4
addiu gp,gp,-0x43f0
addu gp,gp,t9
lw a3,-0x7fb0(gp)
addiu sp,sp,-0x20
lw a1,-0x7fb0(gp)
li a2,0xb3
lw a0,-0x7fb0(gp)
lw t9,-0x7e74(gp)
addiu a3,a3,-0x79e0
addiu a1,a1,-0x7a30
sw gp,0x10(sp)
sw ra,0x1c(sp)
jalr t9
_addiu a0,a0,-0x7a24
(translation_unit "void FUN_00017540(void)\n\n{\n  (*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);\n  return;\n}\n\n" (function_definition "void FUN_00017540(void)\n\n{\n  (*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);\n  return;\n}" primitive_type (function_declarator "FUN_00017540(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  (*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);\n  return;\n}" { (expression_statement "(*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);" (call_expression "(*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0)" (parenthesized_expression "(*(code *)PTR___assert_fail_0004b2dc)" ( (pointer_expression "*(code *)PTR___assert_fail_0004b2dc" * (cast_expression "(code *)PTR___assert_fail_0004b2dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0)" ( (binary_expression "PTR_DAT_0004b1a0 + -0x7a24" identifier + number_literal) , (binary_expression "PTR_DAT_0004b1a0 + -0x7a30" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0004b1a0 + -0x79e0" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void mbuiter_multi_next(mbuiter_multi *iter)\n\n{\n  byte bVar1;\n  _Bool _Var2;\n  bool bVar3;\n  mbuiter_multi *pmVar4;\n  undefined4 *puVar5;\n  char cVar14;\n  size_t sVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  uint uVar11;\n  int iVar12;\n  undefined4 *puVar13;\n  mbuiter_multi *extraout_v1;\n  mbuiter_multi *pmVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  mbuiter_multi *pmVar19;\n  undefined1 *puVar20;\n  undefined4 uVar21;\n  undefined4 uVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  mbuiter_multi *pmVar25;\n  byte *pbVar26;\n  mbuiter_multi *in_t5;\n  mbuiter_multi *unaff_s0;\n  char *pcVar27;\n  mbuiter_multi *unaff_s1;\n  mbuiter_multi *pmVar28;\n  char *pcVar29;\n  mbuiter_multi *unaff_s3;\n  mbuiter_multi *unaff_s4;\n  mbuiter_multi **unaff_s5;\n  char *pcVar30;\n  mbstate_t *pmVar31;\n  mbuiter_multi *unaff_s6;\n  mbuiter_multi *unaff_s7;\n  int in_t9;\n  code *pcVar32;\n  code *pcVar33;\n  undefined1 *puVar34;\n  mbuiter_multi *pwc;\n  mbuiter_multi *pmVar35;\n  code *pcVar36;\n  undefined1 auStack_158 [28];\n  undefined1 auStack_13c [4];\n  undefined1 *puStack_138;\n  mbuiter_multi *pmStack_134;\n  mbuiter_multi *pmStack_130;\n  int iStack_12c;\n  char *pcStack_128;\n  mbuiter_multi *pmStack_124;\n  mbuiter_multi *pmStack_11c;\n  mbuiter_multi *pmStack_118;\n  undefined1 uStack_114;\n  int iStack_110;\n  undefined1 auStack_10c [32];\n  char acStack_ec [8];\n  mbuiter_multi *pmStack_e4;\n  mbuiter_multi **ppmStack_e0;\n  char cStack_dc;\n  mbuiter_multi *pmStack_d8;\n  undefined1 auStack_d4 [32];\n  undefined4 uStack_b4;\n  char cStack_b0;\n  mbuiter_multi *pmStack_ac;\n  undefined1 *puStack_a8;\n  char cStack_a4;\n  mbuiter_multi *apmStack_a0 [7];\n  char cStack_84;\n  undefined1 auStack_80 [16];\n  mbuiter_multi *pmStack_70;\n  byte bStack_6c;\n  mbuiter_multi *apmStack_68 [7];\n  byte *pbStack_4c;\n  \n  puVar23 = (undefined4 *)&DAT_000000b3;\n  pcVar32 = *(code **)(in_t9 + 0x33d9c);\n  pmVar19 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a30);\n  pmVar15 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a24);\n  (*pcVar32)();\n  auStack_158._16_4_ = pcVar32 + 0x3bbd4;\n  puVar34 = auStack_158;\n  pmVar35 = (mbuiter_multi *)auStack_158;\n  pwc = (mbuiter_multi *)auStack_158;\n  auStack_13c = *(undefined1 (*) [4])(pcVar32 + 0x33ee4);\n  pbStack_4c = *(byte **)auStack_13c;\n  auStack_158._24_4_ = puVar23;\n  pmStack_130 = pmVar15;\n  puStack_138 = (undefined1 *)mbslen(&pmVar19->in_shift);\n  pmVar15 = (mbuiter_multi *)(ZEXT48(puStack_138) * 0x2c);\n  puVar20 = auStack_158;\n  if ((-1 < (int)pmVar15) && (puVar20 = auStack_158, (int)(ZEXT48(puStack_138) * 0x2c >> 0x20) == 0)\n     ) {\n    uVar16 = (int)puStack_138 * 0x2c;\n    if (uVar16 < 0xfb1) {\n      iVar7 = -(uVar16 + 0x16 & 0xfffffff8);\n      puVar34 = auStack_158 + iVar7;\n      unaff_s0 = (mbuiter_multi *)(auStack_13c + iVar7 + 3);\n      pmStack_124 = (mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0);\n    }\n    else {\n      pmStack_124 = (mbuiter_multi *)mmalloca(uVar16);\n    }\n    puVar20 = puVar34;\n    if (pmStack_124 != (mbuiter_multi *)0x0) {\n      unaff_s6 = (mbuiter_multi *)(auStack_10c + 0x1c);\n      iStack_12c = *(int *)(auStack_158._16_4_ + -0x7ef4);\n      auStack_10c._28_4_ = 0;\n      unaff_s3 = (mbuiter_multi *)0x1;\n      acStack_ec[0] = '\0';\n      acStack_ec[1] = '\0';\n      acStack_ec[2] = '\0';\n      acStack_ec[3] = '\0';\n      unaff_s4 = (mbuiter_multi *)0xffffffff;\n      pmStack_e4 = pmVar19;\n      auStack_10c[0x18] = false;\n      unaff_s0 = (mbuiter_multi *)auStack_d4;\n      unaff_s1 = (mbuiter_multi *)&pmStack_d8;\n      pcStack_128 = (&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8;\n      unaff_s7 = pmStack_124;\n      pcVar32 = (code *)auStack_158._16_4_;\n      do {\n        acStack_ec[4] = '\0';\n        pmStack_e4 = pmVar19;\n        if ((_Bool)auStack_10c[0x18] == false) {\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }\n        else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }\n        acStack_ec[4] = '\x01';\n        if (pmStack_e4 == unaff_s0) {\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }\n        else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }\n        unaff_s5 = ppmStack_e0;\n        (unaff_s7->state).__count = (int)ppmStack_e0;\n        (unaff_s7->state).__value.__wchb[0] = cVar14;\n        if (cVar14 != '\0') {\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }\n        unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);\n        pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);\n        pmStack_e4 = pmVar19;\n      } while( true );\n    }\n  }\nLAB_000179e4:\n  pcVar33 = *(code **)(auStack_158._16_4_ + -0x7d18);\n  pbVar17 = pbStack_4c;\n  pmVar28 = pmVar19;\n  puVar34 = puVar20;\n  if (pbStack_4c == *(byte **)auStack_13c) {\n    return;\n  }\nLAB_000180cc:\n  pcVar36 = mbscasestr;\n  (*pcVar33)();\n  puVar23 = *(undefined4 **)(pcVar33 + 0x3338c);\n  pcVar32 = *(code **)(pcVar33 + 0x3333c);\n  *(undefined4 **)(puVar34 + -0x1b0) = puVar23;\n  *(code **)(puVar34 + -0x1d0) = pcVar33 + 0x3b07c;\n  *(mbuiter_multi **)(puVar34 + -0x24) = unaff_s1;\n  *(mbuiter_multi **)(puVar34 + -0x28) = unaff_s0;\n  *(code **)(puVar34 + -4) = pcVar36;\n  *(undefined1 **)(puVar34 + -8) = auStack_158;\n  *(mbuiter_multi **)(puVar34 + -0xc) = unaff_s7;\n  *(mbuiter_multi **)(puVar34 + -0x10) = unaff_s6;\n  *(mbuiter_multi ***)(puVar34 + -0x14) = unaff_s5;\n  *(mbuiter_multi **)(puVar34 + -0x18) = unaff_s4;\n  *(mbuiter_multi **)(puVar34 + -0x1c) = unaff_s3;\n  *(mbuiter_multi **)(puVar34 + -0x20) = pmVar28;\n  *(mbuiter_multi **)(puVar34 + -0x1b8) = pmVar15;\n  *(undefined4 *)(puVar34 + -0x2c) = *puVar23;\n  uVar16 = (*pcVar32)();\n  iVar7 = *(int *)(puVar34 + -0x1d0);\n  if (uVar16 < 2) {\n    pcVar32 = *(code **)(iVar7 + -0x7e78);\n    pwc = (mbuiter_multi *)auStack_158;\n    if (**(byte **)(puVar34 + -0x1b8) != 0) {\n      uVar16 = (uint)**(byte **)(puVar34 + -0x1b8);\n      *(uint *)(puVar34 + -0x1c0) = uVar16;\n      puVar23 = (undefined4 *)(*pcVar32)();\n      unaff_s7 = (mbuiter_multi *)*puVar23;\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(undefined4 **)(puVar34 + -0x1a0) = puVar23;\n      if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n        piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);\n      }\n      bVar1 = *pbVar17;\n      *(int *)(puVar34 + -0x1a8) = *(int *)(puVar34 + -0x1b8) + 1;\n      pwc = (mbuiter_multi *)auStack_158;\n      if (bVar1 != 0) {\n        iVar8 = *(int *)(iVar7 + -0x7fcc);\n        *(undefined4 *)(puVar34 + -0x1ac) = 0;\n        *(undefined4 *)(puVar34 + -0x1bc) = 1;\n        unaff_s3 = (mbuiter_multi *)0x0;\n        pwc = (mbuiter_multi *)(puVar34 + -0x198);\n        *(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;\n        *(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);\n        *(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);\n        pcVar29 = (char *)0x0;\n        pbVar26 = pbVar17;\nLAB_000181cc:\n        do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);\n      }\n    }\n  }\n  else {\n    _Var2 = pmVar15->in_shift;\n    iVar8 = (int)_Var2;\n    iVar9 = *(int *)(iVar7 + -0x7ef4);\n    pmVar31 = (mbstate_t *)(puVar34 + -0x140);\n    *(mbuiter_multi **)(puVar34 + -0x134) = pmVar15;\n    *(undefined4 *)(puVar34 + -0x140) = 0;\n    *(undefined4 *)(puVar34 + -0x13c) = 0;\n    *(int *)(puVar34 + -0x1c8) = iVar9;\n    puVar34[-0x144] = 0;\n    uVar16 = *(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4);\n    puVar34[-0x138] = 0;\n    if ((uVar16 >> (_Var2 & 0x1f) & 1) == 0) {\n      iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar8 == 0) goto LAB_00019168;\n      pcVar32 = *(code **)(iVar7 + -0x7d40);\n      puVar34[-0x144] = 1;\n      sVar6 = (*pcVar32)();\n      unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8);\n      sVar6 = strnlen1(&unaff_s3->in_shift,sVar6);\n      pmVar19 = (mbuiter_multi *)(puVar34 + -0x128);\n      sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(size_t *)(puVar34 + -0x130) = sVar6;\n      if (sVar6 == 0xffffffff) {\n        puVar34[-300] = 0;\n        bVar3 = false;\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0xfffffffe) {\n        bVar3 = false;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x130) = uVar22;\n        puVar34[-300] = 0;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0x128);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-300] = 1;\n      iVar9 = (*pcVar32)(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar9 != 0) {\n        puVar34[-0x144] = 0;\n      }\n      puVar34[-0x138] = 1;\n    }\n    else {\n      *(int *)(puVar34 + -0x128) = iVar8;\n      *(undefined4 *)(puVar34 + -0x130) = 1;\n      puVar34[-300] = 1;\n      puVar34[-0x138] = 1;\n    }\n    if (iVar8 != 0) {\n      bVar3 = true;\nLAB_00018454:\n      unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);\n      puVar20 = *(undefined1 **)(puVar34 + -0x134);\n      uVar22 = *(undefined4 *)(puVar34 + -0x130);\n      *(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8);\n      *(undefined4 *)(puVar34 + -0x108) = 0;\n      puVar34[-0x10c] = 0;\n      *(undefined4 *)(puVar34 + -0x104) = 0;\n      puVar34[-0x100] = 0;\n      if (puVar20 == puVar34 + -0x124) {\n        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x194) = uVar21;\n      }\n      else {\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }\n      *(undefined4 *)(puVar34 + -400) = uVar22;\n      puVar34[-0x18c] = bVar3;\n      if (bVar3) {\n        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x188) = uVar22;\n      }\n      puVar34[-0xd4] = 0;\n      unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0);\n      *(undefined4 *)(puVar34 + -0xd0) = 0;\n      *(undefined4 *)(puVar34 + -0x1b4) = 1;\n      unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8);\n      iVar8 = *(int *)(iVar7 + -0x7fcc);\n      pwc = (mbuiter_multi *)(puVar34 + -0x80);\n      *(undefined4 *)(puVar34 + -0xcc) = 0;\n      *(undefined4 *)(puVar34 + -0x1ac) = 0;\n      *(byte **)(puVar34 + -0xc4) = pbVar17;\n      *(undefined4 *)(puVar34 + -0x1bc) = 0;\n      *(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8;\n      *(undefined4 *)(puVar34 + -0x1c0) = 0;\n      puVar34[-200] = 0;\n      pbVar26 = pbVar17;\n      if (puVar34[-0xd4] != '\0') goto LAB_000188e0;\n      goto LAB_000184f0;\n    }\n  }\nLAB_000182f0:\n  if (*(int *)(puVar34 + -0x2c) == **(int **)(puVar34 + -0x1b0)) {\n    return;\n  }\nLAB_000191b0:\n  (**(code **)(iVar7 + -0x7d18))();\nLAB_000191bc:\n  iVar8 = *(int *)(puVar34 + -0xf0);\nLAB_00018e94:\n  *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n  if (iVar8 != 0) goto LAB_0001856c;\n  uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n  while( true ) {\n    iVar8 = (**(code **)(puVar34 + -0x1a8))(pbVar17,uVar22,puVar34 + -0x198);\n    iVar7 = *(int *)(puVar34 + -0x1d0);\n    *(int *)(puVar34 + -0x1b4) = iVar8;\n    if (iVar8 != 0) break;\n    *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\nLAB_0001856c:\n    do {\n      iVar8 = *(int *)(puVar34 + -0x1c0);\n      do {\n        do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);\n        iVar8 = *(int *)(puVar34 + -0x1c0);\n      } while (*(uint *)(puVar34 + -0x1c0) < 10);\n    } while (*(uint *)(puVar34 + -0x1bc) < *(uint *)(puVar34 + -0x1c0) * 5);\n    iVar9 = *(uint *)(puVar34 + -0x1bc) - *(int *)(puVar34 + -0x1ac);\n    uVar16 = (uint)(byte)puVar34[-0x100];\n    if (iVar9 == 0) goto LAB_00019144;\n    if (uVar16 == 0) {\n      pbVar26 = *(byte **)(puVar34 + -0xfc);\n      goto LAB_00018c10;\n    }\n    iVar8 = *(int *)(puVar34 + -0xf0);\n    if (puVar34[-0xf4] != '\0') goto LAB_00018c58;\n    do {\n      pcVar29 = *(char **)(puVar34 + -0xfc);\n      while( true ) {\n        while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }\n        pcVar29 = *(char **)(puVar34 + -0xfc);\n        if (sVar6 != 0xfffffffe) break;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n        puVar34[-0xf4] = 0;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (*pcVar29 != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-0xf4] = 1;\n      iVar12 = (*pcVar32)(unaff_s3);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar12 != 0) {\n        puVar34[-0x10c] = 0;\n      }\n      puVar34[-0x100] = 1;\nLAB_00018c58:\n    } while (iVar8 != 0);\n    uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n    if (puVar34[-0x100] == '\0') {\nLAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);\n      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;\n      *(uint *)(puVar34 + -0x1b4) = uVar16;\n      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n      goto LAB_0001856c;\n    }\n  }\n  goto LAB_000182f0;\nLAB_000177b8:\n  acStack_ec[4] = '\x01';\n  pcStack_128[4] = '\0';\n  pcStack_128[5] = '\0';\n  pcStack_128[6] = '\0';\n  pcStack_128[7] = '\x01';\n  if ((undefined1 *)0x2 < puStack_138) {\n    unaff_s3 = (mbuiter_multi *)0x0;\n    unaff_s7 = (mbuiter_multi *)0x2;\n    pmVar15 = pmStack_124;\nLAB_000177e0:\n    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);\n    cVar14 = (pmVar15->cur).buf[0x10];\n    do {\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    } while( true );\n  }\nLAB_0001787c:\n  unaff_s0 = (mbuiter_multi *)(auStack_d4 + 0x1c);\n  unaff_s6 = (mbuiter_multi *)auStack_80;\n  in_t5 = (mbuiter_multi *)0x0;\n  auStack_d4._28_4_ = 0;\n  iStack_12c = *(int *)(pcVar32 + -0x7ef4);\n  unaff_s5 = apmStack_68;\n  unaff_s1 = (mbuiter_multi *)(apmStack_68 + 1);\n  unaff_s4 = (mbuiter_multi *)auStack_10c;\n  uStack_b4 = 0;\n  pmVar28 = (mbuiter_multi *)apmStack_a0;\n  auStack_80._0_4_ = 0;\n  pmStack_ac = pmStack_130;\n  *(undefined4 *)auStack_158._24_4_ = 0;\n  auStack_80._4_4_ = 0;\n  auStack_d4[0x18] = '\0';\n  cStack_b0 = '\0';\n  auStack_80._12_4_ = pmStack_130;\n  cStack_84 = '\0';\n  auStack_80[8] = '\0';\njoined_r0x000178d8:\n  if (auStack_80[8] == '\0') goto LAB_00017974;\n  pmVar15 = (mbuiter_multi *)(uint)bStack_6c;\n  pmVar4 = apmStack_68[0];\n  if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_000178f4;\njoined_r0x000178ec:\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (pmVar4 != (mbuiter_multi *)0x0) {\nLAB_000178f4:\n    unaff_s7 = pmStack_70;\n    if ((mbuiter_multi *)auStack_80._12_4_ == unaff_s1) goto LAB_00017ea0;\n    pmStack_11c = (mbuiter_multi *)auStack_80._12_4_;\nLAB_00017904:\n    pmStack_118 = unaff_s7;\n    uStack_114 = (char)pmVar15;\n    unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8);\n    pmVar25 = (mbuiter_multi *)((int)in_t5 * 4);\n    if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_00017af0;\n    pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4);\n    pmStack_130 = in_t5;\n    iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0]);\n    pmVar25 = pmStack_134;\n    in_t5 = pmStack_130;\n    pcVar32 = (code *)auStack_158._16_4_;\n    if (((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')\n    goto LAB_00017af0;\n    pmVar15 = pmVar19;\n    if (iStack_110 != *(int *)&unaff_s3->next_done) goto LAB_00017afc;\n    in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n    auStack_80[8] = '\0';\n    auStack_80._12_4_ =\n         (mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n    pmVar19 = pmVar28;\n    if ((mbuiter_multi *)puStack_138 != in_t5) {\nLAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);\n      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;\n      if (cStack_84 != '\0') goto LAB_00017b90;\n      while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }\n      pmStack_70 = (mbuiter_multi *)0x1;\n      bStack_6c = 1;\n      auStack_80[8] = '\x01';\n      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      goto joined_r0x000178ec;\n    }\nLAB_00017c74:\n    auStack_80[8] = '\0';\n    *(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac;\n    freea(pmStack_124);\n    goto LAB_000179e4;\n  }\n  freea(pmStack_124);\n  unaff_s3 = (mbuiter_multi *)0x0;\n  pmVar15 = pmVar19;\n  pmVar19 = pmVar28;\n  goto LAB_000179e4;\nLAB_00017eec:\n  *(mbuiter_multi **)(pcStack_128 + (int)unaff_s7 * 4) = unaff_s7;\nLAB_0001786c:\n  unaff_s7 = (mbuiter_multi *)((int)unaff_s7 + 1);\n  pmVar15 = pmVar28;\n  if ((mbuiter_multi *)puStack_138 == unaff_s7) goto LAB_0001787c;\n  goto LAB_000177e0;\nLAB_00017d5c:\n  (*pcVar33)();\nLAB_00017d64:\n  iVar7 = (*pcVar33)(unaff_s0);\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (iVar7 == 0) goto LAB_000180a8;\n  auStack_d4[0x18] = '\x01';\n  pmVar15 = unaff_s3;\nLAB_00017d7c:\n  sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n  sVar6 = strnlen1(&pmVar15->in_shift,sVar6);\n  puStack_a8 = (undefined1 *)\n               rpl_mbrtowc((wchar_t *)pmVar28,&pmVar15->in_shift,sVar6,(mbstate_t *)unaff_s0);\n  unaff_s3 = apmStack_a0[0];\n  pmVar19 = pmStack_ac;\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (puStack_a8 == (undefined1 *)0xffffffff) {\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_a4 = '\0';\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)&pmStack_ac->field_0x1;\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 != (mbuiter_multi *)0x0) goto LAB_00017d0c;\nLAB_00017e34:\n    cStack_b0 = '\0';\n    pmVar19 = pmVar15;\n    in_t5 = pmStack_130;\n    pmStack_ac = unaff_s3;\n    goto joined_r0x000178d8;\n  }\n  if (puStack_a8 == &SUB_fffffffe) {\n    puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n    cStack_a4 = '\0';\n    pmStack_ac = pmVar19;\n    pcVar32 = (code *)auStack_158._16_4_;\n    goto LAB_00017cf4;\n  }\n  if (puStack_a8 == (undefined1 *)0x0) {\n    puStack_a8 = (undefined1 *)0x1;\n    if (pmStack_ac->in_shift != false) goto LAB_00018084;\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n    if (apmStack_a0[0] != (mbuiter_multi *)0x0) goto code_r0x00017e7c;\n  }\n  else {\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n  }\n  cStack_a4 = '\x01';\n  iVar7 = (*pcVar33)(unaff_s0);\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (iVar7 != 0) {\n    auStack_d4[0x18] = '\0';\n  }\n  cStack_b0 = '\x01';\n  pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017d54:\n  while( true ) {\n    pcVar33 = *(code **)(pcVar32 + -0x7e50);\n    if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017cf4:\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 == (mbuiter_multi *)0x0) goto LAB_00017e34;\nLAB_00017d0c:\n    pmVar15 = pmStack_ac;\n    if (auStack_d4[0x18] != '\0') break;\n    pmVar15 = (mbuiter_multi *)(uint)pmStack_ac->in_shift;\n    pcVar33 = *(code **)(pcVar32 + -0x7cf4);\n    unaff_s3 = pmStack_ac;\n    if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1) == 0) goto LAB_00017d64;\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_a4 = '\x01';\n    cStack_b0 = '\x01';\n    apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n    unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n  }\n  goto LAB_00017d7c;\nLAB_00018084:\n  pcVar32 = (code *)auStack_158._16_4_;\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79f8,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb2,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);\nLAB_000180a8:\n  pcVar33 = *(code **)(pcVar32 + -0x7e74);\n  pmVar15 = (mbuiter_multi *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a30);\n  pbVar17 = (byte *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a10);\n  (*pcVar33)(pbVar17,pmVar15,0x96,*(int *)(pcVar32 + -0x7fb0) + -0x79e0);\n  goto LAB_000180cc;\ncode_r0x00017e7c:\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb3,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);\n  pmVar15 = extraout_v1;\nLAB_00017ea0:\n  pmVar19 = unaff_s1;\n  pmStack_134 = in_t5;\n  pmStack_130 = pmVar15;\n  (**(code **)(pcVar32 + -0x7d74))(unaff_s4,unaff_s1,unaff_s7,0x18);\n  pmStack_11c = unaff_s4;\n  pmVar15 = pmStack_130;\n  in_t5 = pmStack_134;\n  pcVar32 = (code *)auStack_158._16_4_;\n  goto LAB_00017904;\nLAB_00019168:\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x7a10,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0x96,\n             *(int *)(iVar7 + -0x7fb0) + -0x79e0);\n  pwc = pmVar35;\nLAB_0001918c:\n  iVar8 = *(int *)(iVar7 + -0x7fb0);\n  pmVar15 = pwc;\nLAB_00019190:\n  pwc = pmVar15;\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x79f8,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0xb2,\n             iVar8 + -0x79e0);\n  goto LAB_000191b0;\n}\n\n" (function_definition "void mbuiter_multi_next(mbuiter_multi *iter)\n\n{\n  byte bVar1;\n  _Bool _Var2;\n  bool bVar3;\n  mbuiter_multi *pmVar4;\n  undefined4 *puVar5;\n  char cVar14;\n  size_t sVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  uint uVar11;\n  int iVar12;\n  undefined4 *puVar13;\n  mbuiter_multi *extraout_v1;\n  mbuiter_multi *pmVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  mbuiter_multi *pmVar19;\n  undefined1 *puVar20;\n  undefined4 uVar21;\n  undefined4 uVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  mbuiter_multi *pmVar25;\n  byte *pbVar26;\n  mbuiter_multi *in_t5;\n  mbuiter_multi *unaff_s0;\n  char *pcVar27;\n  mbuiter_multi *unaff_s1;\n  mbuiter_multi *pmVar28;\n  char *pcVar29;\n  mbuiter_multi *unaff_s3;\n  mbuiter_multi *unaff_s4;\n  mbuiter_multi **unaff_s5;\n  char *pcVar30;\n  mbstate_t *pmVar31;\n  mbuiter_multi *unaff_s6;\n  mbuiter_multi *unaff_s7;\n  int in_t9;\n  code *pcVar32;\n  code *pcVar33;\n  undefined1 *puVar34;\n  mbuiter_multi *pwc;\n  mbuiter_multi *pmVar35;\n  code *pcVar36;\n  undefined1 auStack_158 [28];\n  undefined1 auStack_13c [4];\n  undefined1 *puStack_138;\n  mbuiter_multi *pmStack_134;\n  mbuiter_multi *pmStack_130;\n  int iStack_12c;\n  char *pcStack_128;\n  mbuiter_multi *pmStack_124;\n  mbuiter_multi *pmStack_11c;\n  mbuiter_multi *pmStack_118;\n  undefined1 uStack_114;\n  int iStack_110;\n  undefined1 auStack_10c [32];\n  char acStack_ec [8];\n  mbuiter_multi *pmStack_e4;\n  mbuiter_multi **ppmStack_e0;\n  char cStack_dc;\n  mbuiter_multi *pmStack_d8;\n  undefined1 auStack_d4 [32];\n  undefined4 uStack_b4;\n  char cStack_b0;\n  mbuiter_multi *pmStack_ac;\n  undefined1 *puStack_a8;\n  char cStack_a4;\n  mbuiter_multi *apmStack_a0 [7];\n  char cStack_84;\n  undefined1 auStack_80 [16];\n  mbuiter_multi *pmStack_70;\n  byte bStack_6c;\n  mbuiter_multi *apmStack_68 [7];\n  byte *pbStack_4c;\n  \n  puVar23 = (undefined4 *)&DAT_000000b3;\n  pcVar32 = *(code **)(in_t9 + 0x33d9c);\n  pmVar19 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a30);\n  pmVar15 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a24);\n  (*pcVar32)();\n  auStack_158._16_4_ = pcVar32 + 0x3bbd4;\n  puVar34 = auStack_158;\n  pmVar35 = (mbuiter_multi *)auStack_158;\n  pwc = (mbuiter_multi *)auStack_158;\n  auStack_13c = *(undefined1 (*) [4])(pcVar32 + 0x33ee4);\n  pbStack_4c = *(byte **)auStack_13c;\n  auStack_158._24_4_ = puVar23;\n  pmStack_130 = pmVar15;\n  puStack_138 = (undefined1 *)mbslen(&pmVar19->in_shift);\n  pmVar15 = (mbuiter_multi *)(ZEXT48(puStack_138) * 0x2c);\n  puVar20 = auStack_158;\n  if ((-1 < (int)pmVar15) && (puVar20 = auStack_158, (int)(ZEXT48(puStack_138) * 0x2c >> 0x20) == 0)\n     ) {\n    uVar16 = (int)puStack_138 * 0x2c;\n    if (uVar16 < 0xfb1) {\n      iVar7 = -(uVar16 + 0x16 & 0xfffffff8);\n      puVar34 = auStack_158 + iVar7;\n      unaff_s0 = (mbuiter_multi *)(auStack_13c + iVar7 + 3);\n      pmStack_124 = (mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0);\n    }\n    else {\n      pmStack_124 = (mbuiter_multi *)mmalloca(uVar16);\n    }\n    puVar20 = puVar34;\n    if (pmStack_124 != (mbuiter_multi *)0x0) {\n      unaff_s6 = (mbuiter_multi *)(auStack_10c + 0x1c);\n      iStack_12c = *(int *)(auStack_158._16_4_ + -0x7ef4);\n      auStack_10c._28_4_ = 0;\n      unaff_s3 = (mbuiter_multi *)0x1;\n      acStack_ec[0] = '\0';\n      acStack_ec[1] = '\0';\n      acStack_ec[2] = '\0';\n      acStack_ec[3] = '\0';\n      unaff_s4 = (mbuiter_multi *)0xffffffff;\n      pmStack_e4 = pmVar19;\n      auStack_10c[0x18] = false;\n      unaff_s0 = (mbuiter_multi *)auStack_d4;\n      unaff_s1 = (mbuiter_multi *)&pmStack_d8;\n      pcStack_128 = (&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8;\n      unaff_s7 = pmStack_124;\n      pcVar32 = (code *)auStack_158._16_4_;\n      do {\n        acStack_ec[4] = '\0';\n        pmStack_e4 = pmVar19;\n        if ((_Bool)auStack_10c[0x18] == false) {\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }\n        else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }\n        acStack_ec[4] = '\x01';\n        if (pmStack_e4 == unaff_s0) {\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }\n        else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }\n        unaff_s5 = ppmStack_e0;\n        (unaff_s7->state).__count = (int)ppmStack_e0;\n        (unaff_s7->state).__value.__wchb[0] = cVar14;\n        if (cVar14 != '\0') {\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }\n        unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);\n        pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);\n        pmStack_e4 = pmVar19;\n      } while( true );\n    }\n  }\nLAB_000179e4:\n  pcVar33 = *(code **)(auStack_158._16_4_ + -0x7d18);\n  pbVar17 = pbStack_4c;\n  pmVar28 = pmVar19;\n  puVar34 = puVar20;\n  if (pbStack_4c == *(byte **)auStack_13c) {\n    return;\n  }\nLAB_000180cc:\n  pcVar36 = mbscasestr;\n  (*pcVar33)();\n  puVar23 = *(undefined4 **)(pcVar33 + 0x3338c);\n  pcVar32 = *(code **)(pcVar33 + 0x3333c);\n  *(undefined4 **)(puVar34 + -0x1b0) = puVar23;\n  *(code **)(puVar34 + -0x1d0) = pcVar33 + 0x3b07c;\n  *(mbuiter_multi **)(puVar34 + -0x24) = unaff_s1;\n  *(mbuiter_multi **)(puVar34 + -0x28) = unaff_s0;\n  *(code **)(puVar34 + -4) = pcVar36;\n  *(undefined1 **)(puVar34 + -8) = auStack_158;\n  *(mbuiter_multi **)(puVar34 + -0xc) = unaff_s7;\n  *(mbuiter_multi **)(puVar34 + -0x10) = unaff_s6;\n  *(mbuiter_multi ***)(puVar34 + -0x14) = unaff_s5;\n  *(mbuiter_multi **)(puVar34 + -0x18) = unaff_s4;\n  *(mbuiter_multi **)(puVar34 + -0x1c) = unaff_s3;\n  *(mbuiter_multi **)(puVar34 + -0x20) = pmVar28;\n  *(mbuiter_multi **)(puVar34 + -0x1b8) = pmVar15;\n  *(undefined4 *)(puVar34 + -0x2c) = *puVar23;\n  uVar16 = (*pcVar32)();\n  iVar7 = *(int *)(puVar34 + -0x1d0);\n  if (uVar16 < 2) {\n    pcVar32 = *(code **)(iVar7 + -0x7e78);\n    pwc = (mbuiter_multi *)auStack_158;\n    if (**(byte **)(puVar34 + -0x1b8) != 0) {\n      uVar16 = (uint)**(byte **)(puVar34 + -0x1b8);\n      *(uint *)(puVar34 + -0x1c0) = uVar16;\n      puVar23 = (undefined4 *)(*pcVar32)();\n      unaff_s7 = (mbuiter_multi *)*puVar23;\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(undefined4 **)(puVar34 + -0x1a0) = puVar23;\n      if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n        piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);\n      }\n      bVar1 = *pbVar17;\n      *(int *)(puVar34 + -0x1a8) = *(int *)(puVar34 + -0x1b8) + 1;\n      pwc = (mbuiter_multi *)auStack_158;\n      if (bVar1 != 0) {\n        iVar8 = *(int *)(iVar7 + -0x7fcc);\n        *(undefined4 *)(puVar34 + -0x1ac) = 0;\n        *(undefined4 *)(puVar34 + -0x1bc) = 1;\n        unaff_s3 = (mbuiter_multi *)0x0;\n        pwc = (mbuiter_multi *)(puVar34 + -0x198);\n        *(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;\n        *(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);\n        *(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);\n        pcVar29 = (char *)0x0;\n        pbVar26 = pbVar17;\nLAB_000181cc:\n        do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);\n      }\n    }\n  }\n  else {\n    _Var2 = pmVar15->in_shift;\n    iVar8 = (int)_Var2;\n    iVar9 = *(int *)(iVar7 + -0x7ef4);\n    pmVar31 = (mbstate_t *)(puVar34 + -0x140);\n    *(mbuiter_multi **)(puVar34 + -0x134) = pmVar15;\n    *(undefined4 *)(puVar34 + -0x140) = 0;\n    *(undefined4 *)(puVar34 + -0x13c) = 0;\n    *(int *)(puVar34 + -0x1c8) = iVar9;\n    puVar34[-0x144] = 0;\n    uVar16 = *(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4);\n    puVar34[-0x138] = 0;\n    if ((uVar16 >> (_Var2 & 0x1f) & 1) == 0) {\n      iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar8 == 0) goto LAB_00019168;\n      pcVar32 = *(code **)(iVar7 + -0x7d40);\n      puVar34[-0x144] = 1;\n      sVar6 = (*pcVar32)();\n      unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8);\n      sVar6 = strnlen1(&unaff_s3->in_shift,sVar6);\n      pmVar19 = (mbuiter_multi *)(puVar34 + -0x128);\n      sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(size_t *)(puVar34 + -0x130) = sVar6;\n      if (sVar6 == 0xffffffff) {\n        puVar34[-300] = 0;\n        bVar3 = false;\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0xfffffffe) {\n        bVar3 = false;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x130) = uVar22;\n        puVar34[-300] = 0;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0x128);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-300] = 1;\n      iVar9 = (*pcVar32)(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar9 != 0) {\n        puVar34[-0x144] = 0;\n      }\n      puVar34[-0x138] = 1;\n    }\n    else {\n      *(int *)(puVar34 + -0x128) = iVar8;\n      *(undefined4 *)(puVar34 + -0x130) = 1;\n      puVar34[-300] = 1;\n      puVar34[-0x138] = 1;\n    }\n    if (iVar8 != 0) {\n      bVar3 = true;\nLAB_00018454:\n      unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);\n      puVar20 = *(undefined1 **)(puVar34 + -0x134);\n      uVar22 = *(undefined4 *)(puVar34 + -0x130);\n      *(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8);\n      *(undefined4 *)(puVar34 + -0x108) = 0;\n      puVar34[-0x10c] = 0;\n      *(undefined4 *)(puVar34 + -0x104) = 0;\n      puVar34[-0x100] = 0;\n      if (puVar20 == puVar34 + -0x124) {\n        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x194) = uVar21;\n      }\n      else {\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }\n      *(undefined4 *)(puVar34 + -400) = uVar22;\n      puVar34[-0x18c] = bVar3;\n      if (bVar3) {\n        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x188) = uVar22;\n      }\n      puVar34[-0xd4] = 0;\n      unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0);\n      *(undefined4 *)(puVar34 + -0xd0) = 0;\n      *(undefined4 *)(puVar34 + -0x1b4) = 1;\n      unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8);\n      iVar8 = *(int *)(iVar7 + -0x7fcc);\n      pwc = (mbuiter_multi *)(puVar34 + -0x80);\n      *(undefined4 *)(puVar34 + -0xcc) = 0;\n      *(undefined4 *)(puVar34 + -0x1ac) = 0;\n      *(byte **)(puVar34 + -0xc4) = pbVar17;\n      *(undefined4 *)(puVar34 + -0x1bc) = 0;\n      *(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8;\n      *(undefined4 *)(puVar34 + -0x1c0) = 0;\n      puVar34[-200] = 0;\n      pbVar26 = pbVar17;\n      if (puVar34[-0xd4] != '\0') goto LAB_000188e0;\n      goto LAB_000184f0;\n    }\n  }\nLAB_000182f0:\n  if (*(int *)(puVar34 + -0x2c) == **(int **)(puVar34 + -0x1b0)) {\n    return;\n  }\nLAB_000191b0:\n  (**(code **)(iVar7 + -0x7d18))();\nLAB_000191bc:\n  iVar8 = *(int *)(puVar34 + -0xf0);\nLAB_00018e94:\n  *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n  if (iVar8 != 0) goto LAB_0001856c;\n  uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n  while( true ) {\n    iVar8 = (**(code **)(puVar34 + -0x1a8))(pbVar17,uVar22,puVar34 + -0x198);\n    iVar7 = *(int *)(puVar34 + -0x1d0);\n    *(int *)(puVar34 + -0x1b4) = iVar8;\n    if (iVar8 != 0) break;\n    *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\nLAB_0001856c:\n    do {\n      iVar8 = *(int *)(puVar34 + -0x1c0);\n      do {\n        do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);\n        iVar8 = *(int *)(puVar34 + -0x1c0);\n      } while (*(uint *)(puVar34 + -0x1c0) < 10);\n    } while (*(uint *)(puVar34 + -0x1bc) < *(uint *)(puVar34 + -0x1c0) * 5);\n    iVar9 = *(uint *)(puVar34 + -0x1bc) - *(int *)(puVar34 + -0x1ac);\n    uVar16 = (uint)(byte)puVar34[-0x100];\n    if (iVar9 == 0) goto LAB_00019144;\n    if (uVar16 == 0) {\n      pbVar26 = *(byte **)(puVar34 + -0xfc);\n      goto LAB_00018c10;\n    }\n    iVar8 = *(int *)(puVar34 + -0xf0);\n    if (puVar34[-0xf4] != '\0') goto LAB_00018c58;\n    do {\n      pcVar29 = *(char **)(puVar34 + -0xfc);\n      while( true ) {\n        while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }\n        pcVar29 = *(char **)(puVar34 + -0xfc);\n        if (sVar6 != 0xfffffffe) break;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n        puVar34[-0xf4] = 0;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (*pcVar29 != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-0xf4] = 1;\n      iVar12 = (*pcVar32)(unaff_s3);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar12 != 0) {\n        puVar34[-0x10c] = 0;\n      }\n      puVar34[-0x100] = 1;\nLAB_00018c58:\n    } while (iVar8 != 0);\n    uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n    if (puVar34[-0x100] == '\0') {\nLAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);\n      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;\n      *(uint *)(puVar34 + -0x1b4) = uVar16;\n      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n      goto LAB_0001856c;\n    }\n  }\n  goto LAB_000182f0;\nLAB_000177b8:\n  acStack_ec[4] = '\x01';\n  pcStack_128[4] = '\0';\n  pcStack_128[5] = '\0';\n  pcStack_128[6] = '\0';\n  pcStack_128[7] = '\x01';\n  if ((undefined1 *)0x2 < puStack_138) {\n    unaff_s3 = (mbuiter_multi *)0x0;\n    unaff_s7 = (mbuiter_multi *)0x2;\n    pmVar15 = pmStack_124;\nLAB_000177e0:\n    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);\n    cVar14 = (pmVar15->cur).buf[0x10];\n    do {\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    } while( true );\n  }\nLAB_0001787c:\n  unaff_s0 = (mbuiter_multi *)(auStack_d4 + 0x1c);\n  unaff_s6 = (mbuiter_multi *)auStack_80;\n  in_t5 = (mbuiter_multi *)0x0;\n  auStack_d4._28_4_ = 0;\n  iStack_12c = *(int *)(pcVar32 + -0x7ef4);\n  unaff_s5 = apmStack_68;\n  unaff_s1 = (mbuiter_multi *)(apmStack_68 + 1);\n  unaff_s4 = (mbuiter_multi *)auStack_10c;\n  uStack_b4 = 0;\n  pmVar28 = (mbuiter_multi *)apmStack_a0;\n  auStack_80._0_4_ = 0;\n  pmStack_ac = pmStack_130;\n  *(undefined4 *)auStack_158._24_4_ = 0;\n  auStack_80._4_4_ = 0;\n  auStack_d4[0x18] = '\0';\n  cStack_b0 = '\0';\n  auStack_80._12_4_ = pmStack_130;\n  cStack_84 = '\0';\n  auStack_80[8] = '\0';\njoined_r0x000178d8:\n  if (auStack_80[8] == '\0') goto LAB_00017974;\n  pmVar15 = (mbuiter_multi *)(uint)bStack_6c;\n  pmVar4 = apmStack_68[0];\n  if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_000178f4;\njoined_r0x000178ec:\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (pmVar4 != (mbuiter_multi *)0x0) {\nLAB_000178f4:\n    unaff_s7 = pmStack_70;\n    if ((mbuiter_multi *)auStack_80._12_4_ == unaff_s1) goto LAB_00017ea0;\n    pmStack_11c = (mbuiter_multi *)auStack_80._12_4_;\nLAB_00017904:\n    pmStack_118 = unaff_s7;\n    uStack_114 = (char)pmVar15;\n    unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8);\n    pmVar25 = (mbuiter_multi *)((int)in_t5 * 4);\n    if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_00017af0;\n    pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4);\n    pmStack_130 = in_t5;\n    iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0]);\n    pmVar25 = pmStack_134;\n    in_t5 = pmStack_130;\n    pcVar32 = (code *)auStack_158._16_4_;\n    if (((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')\n    goto LAB_00017af0;\n    pmVar15 = pmVar19;\n    if (iStack_110 != *(int *)&unaff_s3->next_done) goto LAB_00017afc;\n    in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n    auStack_80[8] = '\0';\n    auStack_80._12_4_ =\n         (mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n    pmVar19 = pmVar28;\n    if ((mbuiter_multi *)puStack_138 != in_t5) {\nLAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);\n      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;\n      if (cStack_84 != '\0') goto LAB_00017b90;\n      while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }\n      pmStack_70 = (mbuiter_multi *)0x1;\n      bStack_6c = 1;\n      auStack_80[8] = '\x01';\n      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      goto joined_r0x000178ec;\n    }\nLAB_00017c74:\n    auStack_80[8] = '\0';\n    *(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac;\n    freea(pmStack_124);\n    goto LAB_000179e4;\n  }\n  freea(pmStack_124);\n  unaff_s3 = (mbuiter_multi *)0x0;\n  pmVar15 = pmVar19;\n  pmVar19 = pmVar28;\n  goto LAB_000179e4;\nLAB_00017eec:\n  *(mbuiter_multi **)(pcStack_128 + (int)unaff_s7 * 4) = unaff_s7;\nLAB_0001786c:\n  unaff_s7 = (mbuiter_multi *)((int)unaff_s7 + 1);\n  pmVar15 = pmVar28;\n  if ((mbuiter_multi *)puStack_138 == unaff_s7) goto LAB_0001787c;\n  goto LAB_000177e0;\nLAB_00017d5c:\n  (*pcVar33)();\nLAB_00017d64:\n  iVar7 = (*pcVar33)(unaff_s0);\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (iVar7 == 0) goto LAB_000180a8;\n  auStack_d4[0x18] = '\x01';\n  pmVar15 = unaff_s3;\nLAB_00017d7c:\n  sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n  sVar6 = strnlen1(&pmVar15->in_shift,sVar6);\n  puStack_a8 = (undefined1 *)\n               rpl_mbrtowc((wchar_t *)pmVar28,&pmVar15->in_shift,sVar6,(mbstate_t *)unaff_s0);\n  unaff_s3 = apmStack_a0[0];\n  pmVar19 = pmStack_ac;\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (puStack_a8 == (undefined1 *)0xffffffff) {\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_a4 = '\0';\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)&pmStack_ac->field_0x1;\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 != (mbuiter_multi *)0x0) goto LAB_00017d0c;\nLAB_00017e34:\n    cStack_b0 = '\0';\n    pmVar19 = pmVar15;\n    in_t5 = pmStack_130;\n    pmStack_ac = unaff_s3;\n    goto joined_r0x000178d8;\n  }\n  if (puStack_a8 == &SUB_fffffffe) {\n    puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n    cStack_a4 = '\0';\n    pmStack_ac = pmVar19;\n    pcVar32 = (code *)auStack_158._16_4_;\n    goto LAB_00017cf4;\n  }\n  if (puStack_a8 == (undefined1 *)0x0) {\n    puStack_a8 = (undefined1 *)0x1;\n    if (pmStack_ac->in_shift != false) goto LAB_00018084;\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n    if (apmStack_a0[0] != (mbuiter_multi *)0x0) goto code_r0x00017e7c;\n  }\n  else {\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n  }\n  cStack_a4 = '\x01';\n  iVar7 = (*pcVar33)(unaff_s0);\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (iVar7 != 0) {\n    auStack_d4[0x18] = '\0';\n  }\n  cStack_b0 = '\x01';\n  pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017d54:\n  while( true ) {\n    pcVar33 = *(code **)(pcVar32 + -0x7e50);\n    if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017cf4:\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 == (mbuiter_multi *)0x0) goto LAB_00017e34;\nLAB_00017d0c:\n    pmVar15 = pmStack_ac;\n    if (auStack_d4[0x18] != '\0') break;\n    pmVar15 = (mbuiter_multi *)(uint)pmStack_ac->in_shift;\n    pcVar33 = *(code **)(pcVar32 + -0x7cf4);\n    unaff_s3 = pmStack_ac;\n    if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1) == 0) goto LAB_00017d64;\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_a4 = '\x01';\n    cStack_b0 = '\x01';\n    apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n    unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n  }\n  goto LAB_00017d7c;\nLAB_00018084:\n  pcVar32 = (code *)auStack_158._16_4_;\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79f8,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb2,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);\nLAB_000180a8:\n  pcVar33 = *(code **)(pcVar32 + -0x7e74);\n  pmVar15 = (mbuiter_multi *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a30);\n  pbVar17 = (byte *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a10);\n  (*pcVar33)(pbVar17,pmVar15,0x96,*(int *)(pcVar32 + -0x7fb0) + -0x79e0);\n  goto LAB_000180cc;\ncode_r0x00017e7c:\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb3,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);\n  pmVar15 = extraout_v1;\nLAB_00017ea0:\n  pmVar19 = unaff_s1;\n  pmStack_134 = in_t5;\n  pmStack_130 = pmVar15;\n  (**(code **)(pcVar32 + -0x7d74))(unaff_s4,unaff_s1,unaff_s7,0x18);\n  pmStack_11c = unaff_s4;\n  pmVar15 = pmStack_130;\n  in_t5 = pmStack_134;\n  pcVar32 = (code *)auStack_158._16_4_;\n  goto LAB_00017904;\nLAB_00019168:\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x7a10,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0x96,\n             *(int *)(iVar7 + -0x7fb0) + -0x79e0);\n  pwc = pmVar35;\nLAB_0001918c:\n  iVar8 = *(int *)(iVar7 + -0x7fb0);\n  pmVar15 = pwc;\nLAB_00019190:\n  pwc = pmVar15;\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x79f8,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0xb2,\n             iVar8 + -0x79e0);\n  goto LAB_000191b0;\n}" primitive_type (function_declarator "mbuiter_multi_next(mbuiter_multi *iter)" identifier (parameter_list "(mbuiter_multi *iter)" ( (parameter_declaration "mbuiter_multi *iter" type_identifier (pointer_declarator "*iter" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  _Bool _Var2;\n  bool bVar3;\n  mbuiter_multi *pmVar4;\n  undefined4 *puVar5;\n  char cVar14;\n  size_t sVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  uint uVar11;\n  int iVar12;\n  undefined4 *puVar13;\n  mbuiter_multi *extraout_v1;\n  mbuiter_multi *pmVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  mbuiter_multi *pmVar19;\n  undefined1 *puVar20;\n  undefined4 uVar21;\n  undefined4 uVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  mbuiter_multi *pmVar25;\n  byte *pbVar26;\n  mbuiter_multi *in_t5;\n  mbuiter_multi *unaff_s0;\n  char *pcVar27;\n  mbuiter_multi *unaff_s1;\n  mbuiter_multi *pmVar28;\n  char *pcVar29;\n  mbuiter_multi *unaff_s3;\n  mbuiter_multi *unaff_s4;\n  mbuiter_multi **unaff_s5;\n  char *pcVar30;\n  mbstate_t *pmVar31;\n  mbuiter_multi *unaff_s6;\n  mbuiter_multi *unaff_s7;\n  int in_t9;\n  code *pcVar32;\n  code *pcVar33;\n  undefined1 *puVar34;\n  mbuiter_multi *pwc;\n  mbuiter_multi *pmVar35;\n  code *pcVar36;\n  undefined1 auStack_158 [28];\n  undefined1 auStack_13c [4];\n  undefined1 *puStack_138;\n  mbuiter_multi *pmStack_134;\n  mbuiter_multi *pmStack_130;\n  int iStack_12c;\n  char *pcStack_128;\n  mbuiter_multi *pmStack_124;\n  mbuiter_multi *pmStack_11c;\n  mbuiter_multi *pmStack_118;\n  undefined1 uStack_114;\n  int iStack_110;\n  undefined1 auStack_10c [32];\n  char acStack_ec [8];\n  mbuiter_multi *pmStack_e4;\n  mbuiter_multi **ppmStack_e0;\n  char cStack_dc;\n  mbuiter_multi *pmStack_d8;\n  undefined1 auStack_d4 [32];\n  undefined4 uStack_b4;\n  char cStack_b0;\n  mbuiter_multi *pmStack_ac;\n  undefined1 *puStack_a8;\n  char cStack_a4;\n  mbuiter_multi *apmStack_a0 [7];\n  char cStack_84;\n  undefined1 auStack_80 [16];\n  mbuiter_multi *pmStack_70;\n  byte bStack_6c;\n  mbuiter_multi *apmStack_68 [7];\n  byte *pbStack_4c;\n  \n  puVar23 = (undefined4 *)&DAT_000000b3;\n  pcVar32 = *(code **)(in_t9 + 0x33d9c);\n  pmVar19 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a30);\n  pmVar15 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a24);\n  (*pcVar32)();\n  auStack_158._16_4_ = pcVar32 + 0x3bbd4;\n  puVar34 = auStack_158;\n  pmVar35 = (mbuiter_multi *)auStack_158;\n  pwc = (mbuiter_multi *)auStack_158;\n  auStack_13c = *(undefined1 (*) [4])(pcVar32 + 0x33ee4);\n  pbStack_4c = *(byte **)auStack_13c;\n  auStack_158._24_4_ = puVar23;\n  pmStack_130 = pmVar15;\n  puStack_138 = (undefined1 *)mbslen(&pmVar19->in_shift);\n  pmVar15 = (mbuiter_multi *)(ZEXT48(puStack_138) * 0x2c);\n  puVar20 = auStack_158;\n  if ((-1 < (int)pmVar15) && (puVar20 = auStack_158, (int)(ZEXT48(puStack_138) * 0x2c >> 0x20) == 0)\n     ) {\n    uVar16 = (int)puStack_138 * 0x2c;\n    if (uVar16 < 0xfb1) {\n      iVar7 = -(uVar16 + 0x16 & 0xfffffff8);\n      puVar34 = auStack_158 + iVar7;\n      unaff_s0 = (mbuiter_multi *)(auStack_13c + iVar7 + 3);\n      pmStack_124 = (mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0);\n    }\n    else {\n      pmStack_124 = (mbuiter_multi *)mmalloca(uVar16);\n    }\n    puVar20 = puVar34;\n    if (pmStack_124 != (mbuiter_multi *)0x0) {\n      unaff_s6 = (mbuiter_multi *)(auStack_10c + 0x1c);\n      iStack_12c = *(int *)(auStack_158._16_4_ + -0x7ef4);\n      auStack_10c._28_4_ = 0;\n      unaff_s3 = (mbuiter_multi *)0x1;\n      acStack_ec[0] = '\0';\n      acStack_ec[1] = '\0';\n      acStack_ec[2] = '\0';\n      acStack_ec[3] = '\0';\n      unaff_s4 = (mbuiter_multi *)0xffffffff;\n      pmStack_e4 = pmVar19;\n      auStack_10c[0x18] = false;\n      unaff_s0 = (mbuiter_multi *)auStack_d4;\n      unaff_s1 = (mbuiter_multi *)&pmStack_d8;\n      pcStack_128 = (&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8;\n      unaff_s7 = pmStack_124;\n      pcVar32 = (code *)auStack_158._16_4_;\n      do {\n        acStack_ec[4] = '\0';\n        pmStack_e4 = pmVar19;\n        if ((_Bool)auStack_10c[0x18] == false) {\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }\n        else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }\n        acStack_ec[4] = '\x01';\n        if (pmStack_e4 == unaff_s0) {\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }\n        else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }\n        unaff_s5 = ppmStack_e0;\n        (unaff_s7->state).__count = (int)ppmStack_e0;\n        (unaff_s7->state).__value.__wchb[0] = cVar14;\n        if (cVar14 != '\0') {\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }\n        unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);\n        pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);\n        pmStack_e4 = pmVar19;\n      } while( true );\n    }\n  }\nLAB_000179e4:\n  pcVar33 = *(code **)(auStack_158._16_4_ + -0x7d18);\n  pbVar17 = pbStack_4c;\n  pmVar28 = pmVar19;\n  puVar34 = puVar20;\n  if (pbStack_4c == *(byte **)auStack_13c) {\n    return;\n  }\nLAB_000180cc:\n  pcVar36 = mbscasestr;\n  (*pcVar33)();\n  puVar23 = *(undefined4 **)(pcVar33 + 0x3338c);\n  pcVar32 = *(code **)(pcVar33 + 0x3333c);\n  *(undefined4 **)(puVar34 + -0x1b0) = puVar23;\n  *(code **)(puVar34 + -0x1d0) = pcVar33 + 0x3b07c;\n  *(mbuiter_multi **)(puVar34 + -0x24) = unaff_s1;\n  *(mbuiter_multi **)(puVar34 + -0x28) = unaff_s0;\n  *(code **)(puVar34 + -4) = pcVar36;\n  *(undefined1 **)(puVar34 + -8) = auStack_158;\n  *(mbuiter_multi **)(puVar34 + -0xc) = unaff_s7;\n  *(mbuiter_multi **)(puVar34 + -0x10) = unaff_s6;\n  *(mbuiter_multi ***)(puVar34 + -0x14) = unaff_s5;\n  *(mbuiter_multi **)(puVar34 + -0x18) = unaff_s4;\n  *(mbuiter_multi **)(puVar34 + -0x1c) = unaff_s3;\n  *(mbuiter_multi **)(puVar34 + -0x20) = pmVar28;\n  *(mbuiter_multi **)(puVar34 + -0x1b8) = pmVar15;\n  *(undefined4 *)(puVar34 + -0x2c) = *puVar23;\n  uVar16 = (*pcVar32)();\n  iVar7 = *(int *)(puVar34 + -0x1d0);\n  if (uVar16 < 2) {\n    pcVar32 = *(code **)(iVar7 + -0x7e78);\n    pwc = (mbuiter_multi *)auStack_158;\n    if (**(byte **)(puVar34 + -0x1b8) != 0) {\n      uVar16 = (uint)**(byte **)(puVar34 + -0x1b8);\n      *(uint *)(puVar34 + -0x1c0) = uVar16;\n      puVar23 = (undefined4 *)(*pcVar32)();\n      unaff_s7 = (mbuiter_multi *)*puVar23;\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(undefined4 **)(puVar34 + -0x1a0) = puVar23;\n      if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n        piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);\n      }\n      bVar1 = *pbVar17;\n      *(int *)(puVar34 + -0x1a8) = *(int *)(puVar34 + -0x1b8) + 1;\n      pwc = (mbuiter_multi *)auStack_158;\n      if (bVar1 != 0) {\n        iVar8 = *(int *)(iVar7 + -0x7fcc);\n        *(undefined4 *)(puVar34 + -0x1ac) = 0;\n        *(undefined4 *)(puVar34 + -0x1bc) = 1;\n        unaff_s3 = (mbuiter_multi *)0x0;\n        pwc = (mbuiter_multi *)(puVar34 + -0x198);\n        *(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;\n        *(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);\n        *(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);\n        pcVar29 = (char *)0x0;\n        pbVar26 = pbVar17;\nLAB_000181cc:\n        do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);\n      }\n    }\n  }\n  else {\n    _Var2 = pmVar15->in_shift;\n    iVar8 = (int)_Var2;\n    iVar9 = *(int *)(iVar7 + -0x7ef4);\n    pmVar31 = (mbstate_t *)(puVar34 + -0x140);\n    *(mbuiter_multi **)(puVar34 + -0x134) = pmVar15;\n    *(undefined4 *)(puVar34 + -0x140) = 0;\n    *(undefined4 *)(puVar34 + -0x13c) = 0;\n    *(int *)(puVar34 + -0x1c8) = iVar9;\n    puVar34[-0x144] = 0;\n    uVar16 = *(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4);\n    puVar34[-0x138] = 0;\n    if ((uVar16 >> (_Var2 & 0x1f) & 1) == 0) {\n      iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar8 == 0) goto LAB_00019168;\n      pcVar32 = *(code **)(iVar7 + -0x7d40);\n      puVar34[-0x144] = 1;\n      sVar6 = (*pcVar32)();\n      unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8);\n      sVar6 = strnlen1(&unaff_s3->in_shift,sVar6);\n      pmVar19 = (mbuiter_multi *)(puVar34 + -0x128);\n      sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(size_t *)(puVar34 + -0x130) = sVar6;\n      if (sVar6 == 0xffffffff) {\n        puVar34[-300] = 0;\n        bVar3 = false;\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0xfffffffe) {\n        bVar3 = false;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x130) = uVar22;\n        puVar34[-300] = 0;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0x128);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-300] = 1;\n      iVar9 = (*pcVar32)(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar9 != 0) {\n        puVar34[-0x144] = 0;\n      }\n      puVar34[-0x138] = 1;\n    }\n    else {\n      *(int *)(puVar34 + -0x128) = iVar8;\n      *(undefined4 *)(puVar34 + -0x130) = 1;\n      puVar34[-300] = 1;\n      puVar34[-0x138] = 1;\n    }\n    if (iVar8 != 0) {\n      bVar3 = true;\nLAB_00018454:\n      unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);\n      puVar20 = *(undefined1 **)(puVar34 + -0x134);\n      uVar22 = *(undefined4 *)(puVar34 + -0x130);\n      *(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8);\n      *(undefined4 *)(puVar34 + -0x108) = 0;\n      puVar34[-0x10c] = 0;\n      *(undefined4 *)(puVar34 + -0x104) = 0;\n      puVar34[-0x100] = 0;\n      if (puVar20 == puVar34 + -0x124) {\n        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x194) = uVar21;\n      }\n      else {\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }\n      *(undefined4 *)(puVar34 + -400) = uVar22;\n      puVar34[-0x18c] = bVar3;\n      if (bVar3) {\n        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x188) = uVar22;\n      }\n      puVar34[-0xd4] = 0;\n      unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0);\n      *(undefined4 *)(puVar34 + -0xd0) = 0;\n      *(undefined4 *)(puVar34 + -0x1b4) = 1;\n      unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8);\n      iVar8 = *(int *)(iVar7 + -0x7fcc);\n      pwc = (mbuiter_multi *)(puVar34 + -0x80);\n      *(undefined4 *)(puVar34 + -0xcc) = 0;\n      *(undefined4 *)(puVar34 + -0x1ac) = 0;\n      *(byte **)(puVar34 + -0xc4) = pbVar17;\n      *(undefined4 *)(puVar34 + -0x1bc) = 0;\n      *(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8;\n      *(undefined4 *)(puVar34 + -0x1c0) = 0;\n      puVar34[-200] = 0;\n      pbVar26 = pbVar17;\n      if (puVar34[-0xd4] != '\0') goto LAB_000188e0;\n      goto LAB_000184f0;\n    }\n  }\nLAB_000182f0:\n  if (*(int *)(puVar34 + -0x2c) == **(int **)(puVar34 + -0x1b0)) {\n    return;\n  }\nLAB_000191b0:\n  (**(code **)(iVar7 + -0x7d18))();\nLAB_000191bc:\n  iVar8 = *(int *)(puVar34 + -0xf0);\nLAB_00018e94:\n  *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n  if (iVar8 != 0) goto LAB_0001856c;\n  uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n  while( true ) {\n    iVar8 = (**(code **)(puVar34 + -0x1a8))(pbVar17,uVar22,puVar34 + -0x198);\n    iVar7 = *(int *)(puVar34 + -0x1d0);\n    *(int *)(puVar34 + -0x1b4) = iVar8;\n    if (iVar8 != 0) break;\n    *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\nLAB_0001856c:\n    do {\n      iVar8 = *(int *)(puVar34 + -0x1c0);\n      do {\n        do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);\n        iVar8 = *(int *)(puVar34 + -0x1c0);\n      } while (*(uint *)(puVar34 + -0x1c0) < 10);\n    } while (*(uint *)(puVar34 + -0x1bc) < *(uint *)(puVar34 + -0x1c0) * 5);\n    iVar9 = *(uint *)(puVar34 + -0x1bc) - *(int *)(puVar34 + -0x1ac);\n    uVar16 = (uint)(byte)puVar34[-0x100];\n    if (iVar9 == 0) goto LAB_00019144;\n    if (uVar16 == 0) {\n      pbVar26 = *(byte **)(puVar34 + -0xfc);\n      goto LAB_00018c10;\n    }\n    iVar8 = *(int *)(puVar34 + -0xf0);\n    if (puVar34[-0xf4] != '\0') goto LAB_00018c58;\n    do {\n      pcVar29 = *(char **)(puVar34 + -0xfc);\n      while( true ) {\n        while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }\n        pcVar29 = *(char **)(puVar34 + -0xfc);\n        if (sVar6 != 0xfffffffe) break;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n        puVar34[-0xf4] = 0;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (*pcVar29 != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-0xf4] = 1;\n      iVar12 = (*pcVar32)(unaff_s3);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar12 != 0) {\n        puVar34[-0x10c] = 0;\n      }\n      puVar34[-0x100] = 1;\nLAB_00018c58:\n    } while (iVar8 != 0);\n    uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n    if (puVar34[-0x100] == '\0') {\nLAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);\n      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;\n      *(uint *)(puVar34 + -0x1b4) = uVar16;\n      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n      goto LAB_0001856c;\n    }\n  }\n  goto LAB_000182f0;\nLAB_000177b8:\n  acStack_ec[4] = '\x01';\n  pcStack_128[4] = '\0';\n  pcStack_128[5] = '\0';\n  pcStack_128[6] = '\0';\n  pcStack_128[7] = '\x01';\n  if ((undefined1 *)0x2 < puStack_138) {\n    unaff_s3 = (mbuiter_multi *)0x0;\n    unaff_s7 = (mbuiter_multi *)0x2;\n    pmVar15 = pmStack_124;\nLAB_000177e0:\n    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);\n    cVar14 = (pmVar15->cur).buf[0x10];\n    do {\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    } while( true );\n  }\nLAB_0001787c:\n  unaff_s0 = (mbuiter_multi *)(auStack_d4 + 0x1c);\n  unaff_s6 = (mbuiter_multi *)auStack_80;\n  in_t5 = (mbuiter_multi *)0x0;\n  auStack_d4._28_4_ = 0;\n  iStack_12c = *(int *)(pcVar32 + -0x7ef4);\n  unaff_s5 = apmStack_68;\n  unaff_s1 = (mbuiter_multi *)(apmStack_68 + 1);\n  unaff_s4 = (mbuiter_multi *)auStack_10c;\n  uStack_b4 = 0;\n  pmVar28 = (mbuiter_multi *)apmStack_a0;\n  auStack_80._0_4_ = 0;\n  pmStack_ac = pmStack_130;\n  *(undefined4 *)auStack_158._24_4_ = 0;\n  auStack_80._4_4_ = 0;\n  auStack_d4[0x18] = '\0';\n  cStack_b0 = '\0';\n  auStack_80._12_4_ = pmStack_130;\n  cStack_84 = '\0';\n  auStack_80[8] = '\0';\njoined_r0x000178d8:\n  if (auStack_80[8] == '\0') goto LAB_00017974;\n  pmVar15 = (mbuiter_multi *)(uint)bStack_6c;\n  pmVar4 = apmStack_68[0];\n  if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_000178f4;\njoined_r0x000178ec:\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (pmVar4 != (mbuiter_multi *)0x0) {\nLAB_000178f4:\n    unaff_s7 = pmStack_70;\n    if ((mbuiter_multi *)auStack_80._12_4_ == unaff_s1) goto LAB_00017ea0;\n    pmStack_11c = (mbuiter_multi *)auStack_80._12_4_;\nLAB_00017904:\n    pmStack_118 = unaff_s7;\n    uStack_114 = (char)pmVar15;\n    unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8);\n    pmVar25 = (mbuiter_multi *)((int)in_t5 * 4);\n    if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_00017af0;\n    pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4);\n    pmStack_130 = in_t5;\n    iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0]);\n    pmVar25 = pmStack_134;\n    in_t5 = pmStack_130;\n    pcVar32 = (code *)auStack_158._16_4_;\n    if (((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')\n    goto LAB_00017af0;\n    pmVar15 = pmVar19;\n    if (iStack_110 != *(int *)&unaff_s3->next_done) goto LAB_00017afc;\n    in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n    auStack_80[8] = '\0';\n    auStack_80._12_4_ =\n         (mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n    pmVar19 = pmVar28;\n    if ((mbuiter_multi *)puStack_138 != in_t5) {\nLAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);\n      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;\n      if (cStack_84 != '\0') goto LAB_00017b90;\n      while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }\n      pmStack_70 = (mbuiter_multi *)0x1;\n      bStack_6c = 1;\n      auStack_80[8] = '\x01';\n      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      goto joined_r0x000178ec;\n    }\nLAB_00017c74:\n    auStack_80[8] = '\0';\n    *(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac;\n    freea(pmStack_124);\n    goto LAB_000179e4;\n  }\n  freea(pmStack_124);\n  unaff_s3 = (mbuiter_multi *)0x0;\n  pmVar15 = pmVar19;\n  pmVar19 = pmVar28;\n  goto LAB_000179e4;\nLAB_00017eec:\n  *(mbuiter_multi **)(pcStack_128 + (int)unaff_s7 * 4) = unaff_s7;\nLAB_0001786c:\n  unaff_s7 = (mbuiter_multi *)((int)unaff_s7 + 1);\n  pmVar15 = pmVar28;\n  if ((mbuiter_multi *)puStack_138 == unaff_s7) goto LAB_0001787c;\n  goto LAB_000177e0;\nLAB_00017d5c:\n  (*pcVar33)();\nLAB_00017d64:\n  iVar7 = (*pcVar33)(unaff_s0);\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (iVar7 == 0) goto LAB_000180a8;\n  auStack_d4[0x18] = '\x01';\n  pmVar15 = unaff_s3;\nLAB_00017d7c:\n  sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n  sVar6 = strnlen1(&pmVar15->in_shift,sVar6);\n  puStack_a8 = (undefined1 *)\n               rpl_mbrtowc((wchar_t *)pmVar28,&pmVar15->in_shift,sVar6,(mbstate_t *)unaff_s0);\n  unaff_s3 = apmStack_a0[0];\n  pmVar19 = pmStack_ac;\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (puStack_a8 == (undefined1 *)0xffffffff) {\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_a4 = '\0';\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)&pmStack_ac->field_0x1;\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 != (mbuiter_multi *)0x0) goto LAB_00017d0c;\nLAB_00017e34:\n    cStack_b0 = '\0';\n    pmVar19 = pmVar15;\n    in_t5 = pmStack_130;\n    pmStack_ac = unaff_s3;\n    goto joined_r0x000178d8;\n  }\n  if (puStack_a8 == &SUB_fffffffe) {\n    puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n    cStack_a4 = '\0';\n    pmStack_ac = pmVar19;\n    pcVar32 = (code *)auStack_158._16_4_;\n    goto LAB_00017cf4;\n  }\n  if (puStack_a8 == (undefined1 *)0x0) {\n    puStack_a8 = (undefined1 *)0x1;\n    if (pmStack_ac->in_shift != false) goto LAB_00018084;\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n    if (apmStack_a0[0] != (mbuiter_multi *)0x0) goto code_r0x00017e7c;\n  }\n  else {\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n  }\n  cStack_a4 = '\x01';\n  iVar7 = (*pcVar33)(unaff_s0);\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (iVar7 != 0) {\n    auStack_d4[0x18] = '\0';\n  }\n  cStack_b0 = '\x01';\n  pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017d54:\n  while( true ) {\n    pcVar33 = *(code **)(pcVar32 + -0x7e50);\n    if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017cf4:\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 == (mbuiter_multi *)0x0) goto LAB_00017e34;\nLAB_00017d0c:\n    pmVar15 = pmStack_ac;\n    if (auStack_d4[0x18] != '\0') break;\n    pmVar15 = (mbuiter_multi *)(uint)pmStack_ac->in_shift;\n    pcVar33 = *(code **)(pcVar32 + -0x7cf4);\n    unaff_s3 = pmStack_ac;\n    if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1) == 0) goto LAB_00017d64;\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_a4 = '\x01';\n    cStack_b0 = '\x01';\n    apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n    unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n  }\n  goto LAB_00017d7c;\nLAB_00018084:\n  pcVar32 = (code *)auStack_158._16_4_;\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79f8,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb2,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);\nLAB_000180a8:\n  pcVar33 = *(code **)(pcVar32 + -0x7e74);\n  pmVar15 = (mbuiter_multi *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a30);\n  pbVar17 = (byte *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a10);\n  (*pcVar33)(pbVar17,pmVar15,0x96,*(int *)(pcVar32 + -0x7fb0) + -0x79e0);\n  goto LAB_000180cc;\ncode_r0x00017e7c:\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb3,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);\n  pmVar15 = extraout_v1;\nLAB_00017ea0:\n  pmVar19 = unaff_s1;\n  pmStack_134 = in_t5;\n  pmStack_130 = pmVar15;\n  (**(code **)(pcVar32 + -0x7d74))(unaff_s4,unaff_s1,unaff_s7,0x18);\n  pmStack_11c = unaff_s4;\n  pmVar15 = pmStack_130;\n  in_t5 = pmStack_134;\n  pcVar32 = (code *)auStack_158._16_4_;\n  goto LAB_00017904;\nLAB_00019168:\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x7a10,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0x96,\n             *(int *)(iVar7 + -0x7fb0) + -0x79e0);\n  pwc = pmVar35;\nLAB_0001918c:\n  iVar8 = *(int *)(iVar7 + -0x7fb0);\n  pmVar15 = pwc;\nLAB_00019190:\n  pwc = pmVar15;\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x79f8,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0xb2,\n             iVar8 + -0x79e0);\n  goto LAB_000191b0;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "_Bool _Var2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "mbuiter_multi *pmVar4;" type_identifier (pointer_declarator "*pmVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "mbuiter_multi *extraout_v1;" type_identifier (pointer_declarator "*extraout_v1" * identifier) ;) (declaration "mbuiter_multi *pmVar15;" type_identifier (pointer_declarator "*pmVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "mbuiter_multi *pmVar19;" type_identifier (pointer_declarator "*pmVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "mbuiter_multi *pmVar25;" type_identifier (pointer_declarator "*pmVar25" * identifier) ;) (declaration "byte *pbVar26;" type_identifier (pointer_declarator "*pbVar26" * identifier) ;) (declaration "mbuiter_multi *in_t5;" type_identifier (pointer_declarator "*in_t5" * identifier) ;) (declaration "mbuiter_multi *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "mbuiter_multi *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "mbuiter_multi *pmVar28;" type_identifier (pointer_declarator "*pmVar28" * identifier) ;) (declaration "char *pcVar29;" primitive_type (pointer_declarator "*pcVar29" * identifier) ;) (declaration "mbuiter_multi *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "mbuiter_multi *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "mbuiter_multi **unaff_s5;" type_identifier (pointer_declarator "**unaff_s5" * (pointer_declarator "*unaff_s5" * identifier)) ;) (declaration "char *pcVar30;" primitive_type (pointer_declarator "*pcVar30" * identifier) ;) (declaration "mbstate_t *pmVar31;" type_identifier (pointer_declarator "*pmVar31" * identifier) ;) (declaration "mbuiter_multi *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "mbuiter_multi *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "undefined1 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "mbuiter_multi *pwc;" type_identifier (pointer_declarator "*pwc" * identifier) ;) (declaration "mbuiter_multi *pmVar35;" type_identifier (pointer_declarator "*pmVar35" * identifier) ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "undefined1 auStack_158 [28];" type_identifier (array_declarator "auStack_158 [28]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_13c [4];" type_identifier (array_declarator "auStack_13c [4]" identifier [ number_literal ]) ;) (declaration "undefined1 *puStack_138;" type_identifier (pointer_declarator "*puStack_138" * identifier) ;) (declaration "mbuiter_multi *pmStack_134;" type_identifier (pointer_declarator "*pmStack_134" * identifier) ;) (declaration "mbuiter_multi *pmStack_130;" type_identifier (pointer_declarator "*pmStack_130" * identifier) ;) (declaration "int iStack_12c;" primitive_type identifier ;) (declaration "char *pcStack_128;" primitive_type (pointer_declarator "*pcStack_128" * identifier) ;) (declaration "mbuiter_multi *pmStack_124;" type_identifier (pointer_declarator "*pmStack_124" * identifier) ;) (declaration "mbuiter_multi *pmStack_11c;" type_identifier (pointer_declarator "*pmStack_11c" * identifier) ;) (declaration "mbuiter_multi *pmStack_118;" type_identifier (pointer_declarator "*pmStack_118" * identifier) ;) (declaration "undefined1 uStack_114;" type_identifier identifier ;) (declaration "int iStack_110;" primitive_type identifier ;) (declaration "undefined1 auStack_10c [32];" type_identifier (array_declarator "auStack_10c [32]" identifier [ number_literal ]) ;) (declaration "char acStack_ec [8];" primitive_type (array_declarator "acStack_ec [8]" identifier [ number_literal ]) ;) (declaration "mbuiter_multi *pmStack_e4;" type_identifier (pointer_declarator "*pmStack_e4" * identifier) ;) (declaration "mbuiter_multi **ppmStack_e0;" type_identifier (pointer_declarator "**ppmStack_e0" * (pointer_declarator "*ppmStack_e0" * identifier)) ;) (declaration "char cStack_dc;" primitive_type identifier ;) (declaration "mbuiter_multi *pmStack_d8;" type_identifier (pointer_declarator "*pmStack_d8" * identifier) ;) (declaration "undefined1 auStack_d4 [32];" type_identifier (array_declarator "auStack_d4 [32]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_b4;" type_identifier identifier ;) (declaration "char cStack_b0;" primitive_type identifier ;) (declaration "mbuiter_multi *pmStack_ac;" type_identifier (pointer_declarator "*pmStack_ac" * identifier) ;) (declaration "undefined1 *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "char cStack_a4;" primitive_type identifier ;) (declaration "mbuiter_multi *apmStack_a0 [7];" type_identifier (pointer_declarator "*apmStack_a0 [7]" * (array_declarator "apmStack_a0 [7]" identifier [ number_literal ])) ;) (declaration "char cStack_84;" primitive_type identifier ;) (declaration "undefined1 auStack_80 [16];" type_identifier (array_declarator "auStack_80 [16]" identifier [ number_literal ]) ;) (declaration "mbuiter_multi *pmStack_70;" type_identifier (pointer_declarator "*pmStack_70" * identifier) ;) (declaration "byte bStack_6c;" type_identifier identifier ;) (declaration "mbuiter_multi *apmStack_68 [7];" type_identifier (pointer_declarator "*apmStack_68 [7]" * (array_declarator "apmStack_68 [7]" identifier [ number_literal ])) ;) (declaration "byte *pbStack_4c;" type_identifier (pointer_declarator "*pbStack_4c" * identifier) ;) (expression_statement "puVar23 = (undefined4 *)&DAT_000000b3;" (assignment_expression "puVar23 = (undefined4 *)&DAT_000000b3" identifier = (cast_expression "(undefined4 *)&DAT_000000b3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000000b3" & identifier))) ;) (expression_statement "pcVar32 = *(code **)(in_t9 + 0x33d9c);" (assignment_expression "pcVar32 = *(code **)(in_t9 + 0x33d9c)" identifier = (pointer_expression "*(code **)(in_t9 + 0x33d9c)" * (cast_expression "(code **)(in_t9 + 0x33d9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x33d9c)" ( (binary_expression "in_t9 + 0x33d9c" identifier + number_literal) ))))) ;) (expression_statement "pmVar19 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a30);" (assignment_expression "pmVar19 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a30)" identifier = (cast_expression "(mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a30)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x33c60) + -0x7a30)" ( (binary_expression "*(int *)(in_t9 + 0x33c60) + -0x7a30" (pointer_expression "*(int *)(in_t9 + 0x33c60)" * (cast_expression "(int *)(in_t9 + 0x33c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x33c60)" ( (binary_expression "in_t9 + 0x33c60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pmVar15 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a24);" (assignment_expression "pmVar15 = (mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a24)" identifier = (cast_expression "(mbuiter_multi *)(*(int *)(in_t9 + 0x33c60) + -0x7a24)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x33c60) + -0x7a24)" ( (binary_expression "*(int *)(in_t9 + 0x33c60) + -0x7a24" (pointer_expression "*(int *)(in_t9 + 0x33c60)" * (cast_expression "(int *)(in_t9 + 0x33c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x33c60)" ( (binary_expression "in_t9 + 0x33c60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "auStack_158._16_4_ = pcVar32 + 0x3bbd4;" (assignment_expression "auStack_158._16_4_ = pcVar32 + 0x3bbd4" (field_expression "auStack_158._16_4_" identifier . field_identifier) = (binary_expression "pcVar32 + 0x3bbd4" identifier + number_literal)) ;) (expression_statement "puVar34 = auStack_158;" (assignment_expression "puVar34 = auStack_158" identifier = identifier) ;) (expression_statement "pmVar35 = (mbuiter_multi *)auStack_158;" (assignment_expression "pmVar35 = (mbuiter_multi *)auStack_158" identifier = (cast_expression "(mbuiter_multi *)auStack_158" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pwc = (mbuiter_multi *)auStack_158;" (assignment_expression "pwc = (mbuiter_multi *)auStack_158" identifier = (cast_expression "(mbuiter_multi *)auStack_158" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "auStack_13c = *(undefined1 (*) [4])(pcVar32 + 0x33ee4);" (assignment_expression "auStack_13c = *(undefined1 (*) [4])(pcVar32 + 0x33ee4)" identifier = (pointer_expression "*(undefined1 (*) [4])(pcVar32 + 0x33ee4)" * (cast_expression "(undefined1 (*) [4])(pcVar32 + 0x33ee4)" ( (type_descriptor "undefined1 (*) [4]" type_identifier (abstract_array_declarator "(*) [4]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(pcVar32 + 0x33ee4)" ( (binary_expression "pcVar32 + 0x33ee4" identifier + number_literal) ))))) ;) (expression_statement "pbStack_4c = *(byte **)auStack_13c;" (assignment_expression "pbStack_4c = *(byte **)auStack_13c" identifier = (pointer_expression "*(byte **)auStack_13c" * (cast_expression "(byte **)auStack_13c" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "auStack_158._24_4_ = puVar23;" (assignment_expression "auStack_158._24_4_ = puVar23" (field_expression "auStack_158._24_4_" identifier . field_identifier) = identifier) ;) (expression_statement "pmStack_130 = pmVar15;" (assignment_expression "pmStack_130 = pmVar15" identifier = identifier) ;) (expression_statement "puStack_138 = (undefined1 *)mbslen(&pmVar19->in_shift);" (assignment_expression "puStack_138 = (undefined1 *)mbslen(&pmVar19->in_shift)" identifier = (cast_expression "(undefined1 *)mbslen(&pmVar19->in_shift)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "mbslen(&pmVar19->in_shift)" identifier (argument_list "(&pmVar19->in_shift)" ( (pointer_expression "&pmVar19->in_shift" & (field_expression "pmVar19->in_shift" identifier -> field_identifier)) ))))) ;) (expression_statement "pmVar15 = (mbuiter_multi *)(ZEXT48(puStack_138) * 0x2c);" (assignment_expression "pmVar15 = (mbuiter_multi *)(ZEXT48(puStack_138) * 0x2c)" identifier = (cast_expression "(mbuiter_multi *)(ZEXT48(puStack_138) * 0x2c)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ZEXT48(puStack_138) * 0x2c)" ( (binary_expression "ZEXT48(puStack_138) * 0x2c" (call_expression "ZEXT48(puStack_138)" identifier (argument_list "(puStack_138)" ( identifier ))) * number_literal) )))) ;) (expression_statement "puVar20 = auStack_158;" (assignment_expression "puVar20 = auStack_158" identifier = identifier) ;) (if_statement "if ((-1 < (int)pmVar15) && (puVar20 = auStack_158, (int)(ZEXT48(puStack_138) * 0x2c >> 0x20) == 0)\n     ) {\n    uVar16 = (int)puStack_138 * 0x2c;\n    if (uVar16 < 0xfb1) {\n      iVar7 = -(uVar16 + 0x16 & 0xfffffff8);\n      puVar34 = auStack_158 + iVar7;\n      unaff_s0 = (mbuiter_multi *)(auStack_13c + iVar7 + 3);\n      pmStack_124 = (mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0);\n    }\n    else {\n      pmStack_124 = (mbuiter_multi *)mmalloca(uVar16);\n    }\n    puVar20 = puVar34;\n    if (pmStack_124 != (mbuiter_multi *)0x0) {\n      unaff_s6 = (mbuiter_multi *)(auStack_10c + 0x1c);\n      iStack_12c = *(int *)(auStack_158._16_4_ + -0x7ef4);\n      auStack_10c._28_4_ = 0;\n      unaff_s3 = (mbuiter_multi *)0x1;\n      acStack_ec[0] = '\0';\n      acStack_ec[1] = '\0';\n      acStack_ec[2] = '\0';\n      acStack_ec[3] = '\0';\n      unaff_s4 = (mbuiter_multi *)0xffffffff;\n      pmStack_e4 = pmVar19;\n      auStack_10c[0x18] = false;\n      unaff_s0 = (mbuiter_multi *)auStack_d4;\n      unaff_s1 = (mbuiter_multi *)&pmStack_d8;\n      pcStack_128 = (&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8;\n      unaff_s7 = pmStack_124;\n      pcVar32 = (code *)auStack_158._16_4_;\n      do {\n        acStack_ec[4] = '\0';\n        pmStack_e4 = pmVar19;\n        if ((_Bool)auStack_10c[0x18] == false) {\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }\n        else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }\n        acStack_ec[4] = '\x01';\n        if (pmStack_e4 == unaff_s0) {\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }\n        else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }\n        unaff_s5 = ppmStack_e0;\n        (unaff_s7->state).__count = (int)ppmStack_e0;\n        (unaff_s7->state).__value.__wchb[0] = cVar14;\n        if (cVar14 != '\0') {\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }\n        unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);\n        pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);\n        pmStack_e4 = pmVar19;\n      } while( true );\n    }\n  }" if (parenthesized_expression "((-1 < (int)pmVar15) && (puVar20 = auStack_158, (int)(ZEXT48(puStack_138) * 0x2c >> 0x20) == 0)\n     )" ( (binary_expression "(-1 < (int)pmVar15) && (puVar20 = auStack_158, (int)(ZEXT48(puStack_138) * 0x2c >> 0x20) == 0)" (parenthesized_expression "(-1 < (int)pmVar15)" ( (binary_expression "-1 < (int)pmVar15" number_literal < (cast_expression "(int)pmVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(puVar20 = auStack_158, (int)(ZEXT48(puStack_138) * 0x2c >> 0x20) == 0)" ( (comma_expression "puVar20 = auStack_158, (int)(ZEXT48(puStack_138) * 0x2c >> 0x20) == 0" (assignment_expression "puVar20 = auStack_158" identifier = identifier) , (binary_expression "(int)(ZEXT48(puStack_138) * 0x2c >> 0x20) == 0" (cast_expression "(int)(ZEXT48(puStack_138) * 0x2c >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ZEXT48(puStack_138) * 0x2c >> 0x20)" ( (binary_expression "ZEXT48(puStack_138) * 0x2c >> 0x20" (binary_expression "ZEXT48(puStack_138) * 0x2c" (call_expression "ZEXT48(puStack_138)" identifier (argument_list "(puStack_138)" ( identifier ))) * number_literal) >> number_literal) ))) == number_literal)) ))) )) (compound_statement "{\n    uVar16 = (int)puStack_138 * 0x2c;\n    if (uVar16 < 0xfb1) {\n      iVar7 = -(uVar16 + 0x16 & 0xfffffff8);\n      puVar34 = auStack_158 + iVar7;\n      unaff_s0 = (mbuiter_multi *)(auStack_13c + iVar7 + 3);\n      pmStack_124 = (mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0);\n    }\n    else {\n      pmStack_124 = (mbuiter_multi *)mmalloca(uVar16);\n    }\n    puVar20 = puVar34;\n    if (pmStack_124 != (mbuiter_multi *)0x0) {\n      unaff_s6 = (mbuiter_multi *)(auStack_10c + 0x1c);\n      iStack_12c = *(int *)(auStack_158._16_4_ + -0x7ef4);\n      auStack_10c._28_4_ = 0;\n      unaff_s3 = (mbuiter_multi *)0x1;\n      acStack_ec[0] = '\0';\n      acStack_ec[1] = '\0';\n      acStack_ec[2] = '\0';\n      acStack_ec[3] = '\0';\n      unaff_s4 = (mbuiter_multi *)0xffffffff;\n      pmStack_e4 = pmVar19;\n      auStack_10c[0x18] = false;\n      unaff_s0 = (mbuiter_multi *)auStack_d4;\n      unaff_s1 = (mbuiter_multi *)&pmStack_d8;\n      pcStack_128 = (&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8;\n      unaff_s7 = pmStack_124;\n      pcVar32 = (code *)auStack_158._16_4_;\n      do {\n        acStack_ec[4] = '\0';\n        pmStack_e4 = pmVar19;\n        if ((_Bool)auStack_10c[0x18] == false) {\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }\n        else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }\n        acStack_ec[4] = '\x01';\n        if (pmStack_e4 == unaff_s0) {\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }\n        else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }\n        unaff_s5 = ppmStack_e0;\n        (unaff_s7->state).__count = (int)ppmStack_e0;\n        (unaff_s7->state).__value.__wchb[0] = cVar14;\n        if (cVar14 != '\0') {\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }\n        unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);\n        pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);\n        pmStack_e4 = pmVar19;\n      } while( true );\n    }\n  }" { (expression_statement "uVar16 = (int)puStack_138 * 0x2c;" (assignment_expression "uVar16 = (int)puStack_138 * 0x2c" identifier = (binary_expression "(int)puStack_138 * 0x2c" (cast_expression "(int)puStack_138" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (if_statement "if (uVar16 < 0xfb1) {\n      iVar7 = -(uVar16 + 0x16 & 0xfffffff8);\n      puVar34 = auStack_158 + iVar7;\n      unaff_s0 = (mbuiter_multi *)(auStack_13c + iVar7 + 3);\n      pmStack_124 = (mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0);\n    }\n    else {\n      pmStack_124 = (mbuiter_multi *)mmalloca(uVar16);\n    }" if (parenthesized_expression "(uVar16 < 0xfb1)" ( (binary_expression "uVar16 < 0xfb1" identifier < number_literal) )) (compound_statement "{\n      iVar7 = -(uVar16 + 0x16 & 0xfffffff8);\n      puVar34 = auStack_158 + iVar7;\n      unaff_s0 = (mbuiter_multi *)(auStack_13c + iVar7 + 3);\n      pmStack_124 = (mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0);\n    }" { (expression_statement "iVar7 = -(uVar16 + 0x16 & 0xfffffff8);" (assignment_expression "iVar7 = -(uVar16 + 0x16 & 0xfffffff8)" identifier = (unary_expression "-(uVar16 + 0x16 & 0xfffffff8)" - (parenthesized_expression "(uVar16 + 0x16 & 0xfffffff8)" ( (binary_expression "uVar16 + 0x16 & 0xfffffff8" (binary_expression "uVar16 + 0x16" identifier + number_literal) & number_literal) )))) ;) (expression_statement "puVar34 = auStack_158 + iVar7;" (assignment_expression "puVar34 = auStack_158 + iVar7" identifier = (binary_expression "auStack_158 + iVar7" identifier + identifier)) ;) (expression_statement "unaff_s0 = (mbuiter_multi *)(auStack_13c + iVar7 + 3);" (assignment_expression "unaff_s0 = (mbuiter_multi *)(auStack_13c + iVar7 + 3)" identifier = (cast_expression "(mbuiter_multi *)(auStack_13c + iVar7 + 3)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_13c + iVar7 + 3)" ( (binary_expression "auStack_13c + iVar7 + 3" (binary_expression "auStack_13c + iVar7" identifier + identifier) + number_literal) )))) ;) (expression_statement "pmStack_124 = (mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0);" (assignment_expression "pmStack_124 = (mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0)" identifier = (cast_expression "(mbuiter_multi *)((uint)unaff_s0 & 0xfffffff0)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s0 & 0xfffffff0)" ( (binary_expression "(uint)unaff_s0 & 0xfffffff0" (cast_expression "(uint)unaff_s0" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) }) (else_clause "else {\n      pmStack_124 = (mbuiter_multi *)mmalloca(uVar16);\n    }" else (compound_statement "{\n      pmStack_124 = (mbuiter_multi *)mmalloca(uVar16);\n    }" { (expression_statement "pmStack_124 = (mbuiter_multi *)mmalloca(uVar16);" (assignment_expression "pmStack_124 = (mbuiter_multi *)mmalloca(uVar16)" identifier = (cast_expression "(mbuiter_multi *)mmalloca(uVar16)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "mmalloca(uVar16)" identifier (argument_list "(uVar16)" ( identifier ))))) ;) }))) (expression_statement "puVar20 = puVar34;" (assignment_expression "puVar20 = puVar34" identifier = identifier) ;) (if_statement "if (pmStack_124 != (mbuiter_multi *)0x0) {\n      unaff_s6 = (mbuiter_multi *)(auStack_10c + 0x1c);\n      iStack_12c = *(int *)(auStack_158._16_4_ + -0x7ef4);\n      auStack_10c._28_4_ = 0;\n      unaff_s3 = (mbuiter_multi *)0x1;\n      acStack_ec[0] = '\0';\n      acStack_ec[1] = '\0';\n      acStack_ec[2] = '\0';\n      acStack_ec[3] = '\0';\n      unaff_s4 = (mbuiter_multi *)0xffffffff;\n      pmStack_e4 = pmVar19;\n      auStack_10c[0x18] = false;\n      unaff_s0 = (mbuiter_multi *)auStack_d4;\n      unaff_s1 = (mbuiter_multi *)&pmStack_d8;\n      pcStack_128 = (&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8;\n      unaff_s7 = pmStack_124;\n      pcVar32 = (code *)auStack_158._16_4_;\n      do {\n        acStack_ec[4] = '\0';\n        pmStack_e4 = pmVar19;\n        if ((_Bool)auStack_10c[0x18] == false) {\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }\n        else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }\n        acStack_ec[4] = '\x01';\n        if (pmStack_e4 == unaff_s0) {\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }\n        else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }\n        unaff_s5 = ppmStack_e0;\n        (unaff_s7->state).__count = (int)ppmStack_e0;\n        (unaff_s7->state).__value.__wchb[0] = cVar14;\n        if (cVar14 != '\0') {\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }\n        unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);\n        pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);\n        pmStack_e4 = pmVar19;\n      } while( true );\n    }" if (parenthesized_expression "(pmStack_124 != (mbuiter_multi *)0x0)" ( (binary_expression "pmStack_124 != (mbuiter_multi *)0x0" identifier != (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      unaff_s6 = (mbuiter_multi *)(auStack_10c + 0x1c);\n      iStack_12c = *(int *)(auStack_158._16_4_ + -0x7ef4);\n      auStack_10c._28_4_ = 0;\n      unaff_s3 = (mbuiter_multi *)0x1;\n      acStack_ec[0] = '\0';\n      acStack_ec[1] = '\0';\n      acStack_ec[2] = '\0';\n      acStack_ec[3] = '\0';\n      unaff_s4 = (mbuiter_multi *)0xffffffff;\n      pmStack_e4 = pmVar19;\n      auStack_10c[0x18] = false;\n      unaff_s0 = (mbuiter_multi *)auStack_d4;\n      unaff_s1 = (mbuiter_multi *)&pmStack_d8;\n      pcStack_128 = (&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8;\n      unaff_s7 = pmStack_124;\n      pcVar32 = (code *)auStack_158._16_4_;\n      do {\n        acStack_ec[4] = '\0';\n        pmStack_e4 = pmVar19;\n        if ((_Bool)auStack_10c[0x18] == false) {\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }\n        else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }\n        acStack_ec[4] = '\x01';\n        if (pmStack_e4 == unaff_s0) {\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }\n        else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }\n        unaff_s5 = ppmStack_e0;\n        (unaff_s7->state).__count = (int)ppmStack_e0;\n        (unaff_s7->state).__value.__wchb[0] = cVar14;\n        if (cVar14 != '\0') {\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }\n        unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);\n        pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);\n        pmStack_e4 = pmVar19;\n      } while( true );\n    }" { (expression_statement "unaff_s6 = (mbuiter_multi *)(auStack_10c + 0x1c);" (assignment_expression "unaff_s6 = (mbuiter_multi *)(auStack_10c + 0x1c)" identifier = (cast_expression "(mbuiter_multi *)(auStack_10c + 0x1c)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_10c + 0x1c)" ( (binary_expression "auStack_10c + 0x1c" identifier + number_literal) )))) ;) (expression_statement "iStack_12c = *(int *)(auStack_158._16_4_ + -0x7ef4);" (assignment_expression "iStack_12c = *(int *)(auStack_158._16_4_ + -0x7ef4)" identifier = (pointer_expression "*(int *)(auStack_158._16_4_ + -0x7ef4)" * (cast_expression "(int *)(auStack_158._16_4_ + -0x7ef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7ef4)" ( (binary_expression "auStack_158._16_4_ + -0x7ef4" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "auStack_10c._28_4_ = 0;" (assignment_expression "auStack_10c._28_4_ = 0" (field_expression "auStack_10c._28_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "unaff_s3 = (mbuiter_multi *)0x1;" (assignment_expression "unaff_s3 = (mbuiter_multi *)0x1" identifier = (cast_expression "(mbuiter_multi *)0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "acStack_ec[0] = '\0';" (assignment_expression "acStack_ec[0] = '\0'" (subscript_expression "acStack_ec[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "acStack_ec[1] = '\0';" (assignment_expression "acStack_ec[1] = '\0'" (subscript_expression "acStack_ec[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "acStack_ec[2] = '\0';" (assignment_expression "acStack_ec[2] = '\0'" (subscript_expression "acStack_ec[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "acStack_ec[3] = '\0';" (assignment_expression "acStack_ec[3] = '\0'" (subscript_expression "acStack_ec[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "unaff_s4 = (mbuiter_multi *)0xffffffff;" (assignment_expression "unaff_s4 = (mbuiter_multi *)0xffffffff" identifier = (cast_expression "(mbuiter_multi *)0xffffffff" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pmStack_e4 = pmVar19;" (assignment_expression "pmStack_e4 = pmVar19" identifier = identifier) ;) (expression_statement "auStack_10c[0x18] = false;" (assignment_expression "auStack_10c[0x18] = false" (subscript_expression "auStack_10c[0x18]" identifier [ number_literal ]) = false) ;) (expression_statement "unaff_s0 = (mbuiter_multi *)auStack_d4;" (assignment_expression "unaff_s0 = (mbuiter_multi *)auStack_d4" identifier = (cast_expression "(mbuiter_multi *)auStack_d4" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s1 = (mbuiter_multi *)&pmStack_d8;" (assignment_expression "unaff_s1 = (mbuiter_multi *)&pmStack_d8" identifier = (cast_expression "(mbuiter_multi *)&pmStack_d8" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pmStack_d8" & identifier))) ;) (expression_statement "pcStack_128 = (&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8;" (assignment_expression "pcStack_128 = (&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8" identifier = (binary_expression "(&pmStack_124->cur)[(int)(puStack_138 + -1)].buf + 8" (field_expression "(&pmStack_124->cur)[(int)(puStack_138 + -1)].buf" (subscript_expression "(&pmStack_124->cur)[(int)(puStack_138 + -1)]" (parenthesized_expression "(&pmStack_124->cur)" ( (pointer_expression "&pmStack_124->cur" & (field_expression "pmStack_124->cur" identifier -> field_identifier)) )) [ (cast_expression "(int)(puStack_138 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puStack_138 + -1)" ( (binary_expression "puStack_138 + -1" identifier + number_literal) ))) ]) . field_identifier) + number_literal)) ;) (expression_statement "unaff_s7 = pmStack_124;" (assignment_expression "unaff_s7 = pmStack_124" identifier = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (do_statement "do {\n        acStack_ec[4] = '\0';\n        pmStack_e4 = pmVar19;\n        if ((_Bool)auStack_10c[0x18] == false) {\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }\n        else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }\n        acStack_ec[4] = '\x01';\n        if (pmStack_e4 == unaff_s0) {\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }\n        else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }\n        unaff_s5 = ppmStack_e0;\n        (unaff_s7->state).__count = (int)ppmStack_e0;\n        (unaff_s7->state).__value.__wchb[0] = cVar14;\n        if (cVar14 != '\0') {\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }\n        unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);\n        pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);\n        pmStack_e4 = pmVar19;\n      } while( true );" do (compound_statement "{\n        acStack_ec[4] = '\0';\n        pmStack_e4 = pmVar19;\n        if ((_Bool)auStack_10c[0x18] == false) {\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }\n        else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }\n        acStack_ec[4] = '\x01';\n        if (pmStack_e4 == unaff_s0) {\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }\n        else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }\n        unaff_s5 = ppmStack_e0;\n        (unaff_s7->state).__count = (int)ppmStack_e0;\n        (unaff_s7->state).__value.__wchb[0] = cVar14;\n        if (cVar14 != '\0') {\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }\n        unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);\n        pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);\n        pmStack_e4 = pmVar19;\n      }" { (expression_statement "acStack_ec[4] = '\0';" (assignment_expression "acStack_ec[4] = '\0'" (subscript_expression "acStack_ec[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pmStack_e4 = pmVar19;" (assignment_expression "pmStack_e4 = pmVar19" identifier = identifier) ;) (if_statement "if ((_Bool)auStack_10c[0x18] == false) {\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }\n        else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }" if (parenthesized_expression "((_Bool)auStack_10c[0x18] == false)" ( (binary_expression "(_Bool)auStack_10c[0x18] == false" (cast_expression "(_Bool)auStack_10c[0x18]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "auStack_10c[0x18]" identifier [ number_literal ])) == false) )) (compound_statement "{\n          if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }\n          ppmStack_e0 = (mbuiter_multi **)0x1;\n          pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;\n          cStack_dc = '\x01';\n          acStack_ec[4] = '\x01';\n          pmStack_d8 = pmVar19;\n          if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;\nLAB_000176d4:\n          cVar14 = '\x01';\n        }" { (if_statement "if ((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0) {\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }" if (parenthesized_expression "((*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1)" ( (binary_expression "*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f) & 1" (binary_expression "*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4) >>\n               (pmVar19->in_shift & 0x1f)" (pointer_expression "*(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4)" * (cast_expression "(uint *)(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4)" ( (binary_expression "iStack_12c + (uint)(byte)(pmVar19->in_shift >> 5) * 4" identifier + (binary_expression "(uint)(byte)(pmVar19->in_shift >> 5) * 4" (call_expression "(uint)(byte)(pmVar19->in_shift >> 5)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(pmVar19->in_shift >> 5)" ( (binary_expression "pmVar19->in_shift >> 5" (field_expression "pmVar19->in_shift" identifier -> field_identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(pmVar19->in_shift & 0x1f)" ( (binary_expression "pmVar19->in_shift & 0x1f" (field_expression "pmVar19->in_shift" identifier -> field_identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n            pmVar28 = pmVar19;\n            pcVar32 = (code *)auStack_158._16_4_;\n            if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }\n            goto LAB_000180a8;\n          }" { (expression_statement "iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);" (assignment_expression "iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6)" identifier = (call_expression "(**(code **)(pcVar32 + -0x7cf4))(unaff_s6)" (parenthesized_expression "(**(code **)(pcVar32 + -0x7cf4))" ( (pointer_expression "**(code **)(pcVar32 + -0x7cf4)" * (pointer_expression "*(code **)(pcVar32 + -0x7cf4)" * (cast_expression "(code **)(pcVar32 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7cf4)" ( (binary_expression "pcVar32 + -0x7cf4" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (expression_statement "pmVar28 = pmVar19;" (assignment_expression "pmVar28 = pmVar19" identifier = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (if_statement "if (iVar7 != 0) {\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              auStack_10c[0x18] = true;\n              goto LAB_0001772c;\n            }" { (expression_statement "auStack_10c[0x18] = true;" (assignment_expression "auStack_10c[0x18] = true" (subscript_expression "auStack_10c[0x18]" identifier [ number_literal ]) = true) ;) (goto_statement "goto LAB_0001772c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000180a8;" goto statement_identifier ;) })) (expression_statement "ppmStack_e0 = (mbuiter_multi **)0x1;" (assignment_expression "ppmStack_e0 = (mbuiter_multi **)0x1" identifier = (cast_expression "(mbuiter_multi **)0x1" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift;" (assignment_expression "pmVar19 = (mbuiter_multi *)(int)pmVar19->in_shift" identifier = (cast_expression "(mbuiter_multi *)(int)pmVar19->in_shift" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)pmVar19->in_shift" ( (type_descriptor "int" primitive_type) ) (field_expression "pmVar19->in_shift" identifier -> field_identifier)))) ;) (expression_statement "cStack_dc = '\x01';" (assignment_expression "cStack_dc = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "acStack_ec[4] = '\x01';" (assignment_expression "acStack_ec[4] = '\x01'" (subscript_expression "acStack_ec[4]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pmStack_d8 = pmVar19;" (assignment_expression "pmStack_d8 = pmVar19" identifier = identifier) ;) (if_statement "if (pmVar19 == (mbuiter_multi *)0x0) goto LAB_000177b8;" if (parenthesized_expression "(pmVar19 == (mbuiter_multi *)0x0)" ( (binary_expression "pmVar19 == (mbuiter_multi *)0x0" identifier == (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000177b8;" goto statement_identifier ;)) (labeled_statement "LAB_000176d4:\n          cVar14 = '\x01';" statement_identifier : (expression_statement "cVar14 = '\x01';" (assignment_expression "cVar14 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;)) }) (else_clause "else {\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }" else (compound_statement "{\nLAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n          sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n          pmVar25 = unaff_s6;\n          ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);\n          pmVar15 = pmStack_d8;\n          if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n        }" { (labeled_statement "LAB_0001772c:\n          sVar6 = (**(code **)(pcVar32 + -0x7d40))();" statement_identifier : (expression_statement "sVar6 = (**(code **)(pcVar32 + -0x7d40))();" (assignment_expression "sVar6 = (**(code **)(pcVar32 + -0x7d40))()" identifier = (call_expression "(**(code **)(pcVar32 + -0x7d40))()" (parenthesized_expression "(**(code **)(pcVar32 + -0x7d40))" ( (pointer_expression "**(code **)(pcVar32 + -0x7d40)" * (pointer_expression "*(code **)(pcVar32 + -0x7d40)" * (cast_expression "(code **)(pcVar32 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7d40)" ( (binary_expression "pcVar32 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (expression_statement "sVar6 = strnlen1(&pmVar19->in_shift,sVar6);" (assignment_expression "sVar6 = strnlen1(&pmVar19->in_shift,sVar6)" identifier = (call_expression "strnlen1(&pmVar19->in_shift,sVar6)" identifier (argument_list "(&pmVar19->in_shift,sVar6)" ( (pointer_expression "&pmVar19->in_shift" & (field_expression "pmVar19->in_shift" identifier -> field_identifier)) , identifier )))) ;) (expression_statement "pmVar25 = unaff_s6;" (assignment_expression "pmVar25 = unaff_s6" identifier = identifier) ;) (expression_statement "ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6);" (assignment_expression "ppmStack_e0 = (mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6)" identifier = (cast_expression "(mbuiter_multi **)\n                        rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "rpl_mbrtowc((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6)" identifier (argument_list "((wchar_t *)unaff_s1,&pmVar19->in_shift,sVar6,\n                                    (mbstate_t *)unaff_s6)" ( (cast_expression "(wchar_t *)unaff_s1" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&pmVar19->in_shift" & (field_expression "pmVar19->in_shift" identifier -> field_identifier)) , identifier , (cast_expression "(mbstate_t *)unaff_s6" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (expression_statement "pmVar15 = pmStack_d8;" (assignment_expression "pmVar15 = pmStack_d8" identifier = identifier) ;) (if_statement "if (ppmStack_e0 == (mbuiter_multi **)0xffffffff) {\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }\n          else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }" if (parenthesized_expression "(ppmStack_e0 == (mbuiter_multi **)0xffffffff)" ( (binary_expression "ppmStack_e0 == (mbuiter_multi **)0xffffffff" identifier == (cast_expression "(mbuiter_multi **)0xffffffff" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            ppmStack_e0 = (mbuiter_multi **)0x1;\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }" { (expression_statement "ppmStack_e0 = (mbuiter_multi **)0x1;" (assignment_expression "ppmStack_e0 = (mbuiter_multi **)0x1" identifier = (cast_expression "(mbuiter_multi **)0x1" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "cVar14 = '\0';" (assignment_expression "cVar14 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "cStack_dc = '\0';" (assignment_expression "cStack_dc = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) }) (else_clause "else {\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }" else (compound_statement "{\n            if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }\n            ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);\n            cVar14 = '\0';\n            cStack_dc = '\0';\n            pcVar32 = (code *)auStack_158._16_4_;\n          }" { (if_statement "if (ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe) {\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }" if (parenthesized_expression "(ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe)" ( (binary_expression "ppmStack_e0 != (mbuiter_multi **)&SUB_fffffffe" identifier != (cast_expression "(mbuiter_multi **)&SUB_fffffffe" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&SUB_fffffffe" & identifier))) )) (compound_statement "{\n              if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }\n              cStack_dc = '\x01';\n              iVar7 = (*pcVar32)(unaff_s6);\n              if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }\n              acStack_ec[4] = '\x01';\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;\n              goto LAB_000177b8;\n            }" { (if_statement "if (ppmStack_e0 == (mbuiter_multi **)0x0) {\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }\n              else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }" if (parenthesized_expression "(ppmStack_e0 == (mbuiter_multi **)0x0)" ( (binary_expression "ppmStack_e0 == (mbuiter_multi **)0x0" identifier == (cast_expression "(mbuiter_multi **)0x0" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                ppmStack_e0 = (mbuiter_multi **)0x1;\n                pmVar28 = pmStack_d8;\n                if (pmStack_e4->in_shift != false) goto LAB_00018084;\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n                if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;\n              }" { (expression_statement "ppmStack_e0 = (mbuiter_multi **)0x1;" (assignment_expression "ppmStack_e0 = (mbuiter_multi **)0x1" identifier = (cast_expression "(mbuiter_multi **)0x1" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pmVar28 = pmStack_d8;" (assignment_expression "pmVar28 = pmStack_d8" identifier = identifier) ;) (if_statement "if (pmStack_e4->in_shift != false) goto LAB_00018084;" if (parenthesized_expression "(pmStack_e4->in_shift != false)" ( (binary_expression "pmStack_e4->in_shift != false" (field_expression "pmStack_e4->in_shift" identifier -> field_identifier) != false) )) (goto_statement "goto LAB_00018084;" goto statement_identifier ;)) (expression_statement "pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);" (assignment_expression "pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4)" identifier = (pointer_expression "*(code **)(auStack_158._16_4_ + -0x7cf4)" * (cast_expression "(code **)(auStack_158._16_4_ + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7cf4)" ( (binary_expression "auStack_158._16_4_ + -0x7cf4" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) ;) (if_statement "if (pmStack_d8 != (mbuiter_multi *)0x0) goto LAB_00017ae8;" if (parenthesized_expression "(pmStack_d8 != (mbuiter_multi *)0x0)" ( (binary_expression "pmStack_d8 != (mbuiter_multi *)0x0" identifier != (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017ae8;" goto statement_identifier ;)) }) (else_clause "else {\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }" else (compound_statement "{\n                pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n              }" { (expression_statement "pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4);" (assignment_expression "pcVar32 = *(code **)(auStack_158._16_4_ + -0x7cf4)" identifier = (pointer_expression "*(code **)(auStack_158._16_4_ + -0x7cf4)" * (cast_expression "(code **)(auStack_158._16_4_ + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7cf4)" ( (binary_expression "auStack_158._16_4_ + -0x7cf4" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) ;) }))) (expression_statement "cStack_dc = '\x01';" (assignment_expression "cStack_dc = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar7 = (*pcVar32)(unaff_s6);" (assignment_expression "iVar7 = (*pcVar32)(unaff_s6)" identifier = (call_expression "(*pcVar32)(unaff_s6)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n                auStack_10c[0x18] = false;\n              }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                auStack_10c[0x18] = false;\n              }" { (expression_statement "auStack_10c[0x18] = false;" (assignment_expression "auStack_10c[0x18] = false" (subscript_expression "auStack_10c[0x18]" identifier [ number_literal ]) = false) ;) })) (expression_statement "acStack_ec[4] = '\x01';" (assignment_expression "acStack_ec[4] = '\x01'" (subscript_expression "acStack_ec[4]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (if_statement "if (pmVar15 != (mbuiter_multi *)0x0) goto LAB_000176d4;" if (parenthesized_expression "(pmVar15 != (mbuiter_multi *)0x0)" ( (binary_expression "pmVar15 != (mbuiter_multi *)0x0" identifier != (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000176d4;" goto statement_identifier ;)) (goto_statement "goto LAB_000177b8;" goto statement_identifier ;) })) (expression_statement "ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4);" (assignment_expression "ppmStack_e0 = (mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4)" identifier = (cast_expression "(mbuiter_multi **)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_e4)" (parenthesized_expression "(**(code **)(auStack_158._16_4_ + -0x7d94))" ( (pointer_expression "**(code **)(auStack_158._16_4_ + -0x7d94)" * (pointer_expression "*(code **)(auStack_158._16_4_ + -0x7d94)" * (cast_expression "(code **)(auStack_158._16_4_ + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7d94)" ( (binary_expression "auStack_158._16_4_ + -0x7d94" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) )) (argument_list "(pmStack_e4)" ( identifier ))))) ;) (expression_statement "cVar14 = '\0';" (assignment_expression "cVar14 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "cStack_dc = '\0';" (assignment_expression "cStack_dc = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) }))) }))) (expression_statement "acStack_ec[4] = '\x01';" (assignment_expression "acStack_ec[4] = '\x01'" (subscript_expression "acStack_ec[4]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (pmStack_e4 == unaff_s0) {\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }\n        else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }" if (parenthesized_expression "(pmStack_e4 == unaff_s0)" ( (binary_expression "pmStack_e4 == unaff_s0" identifier == identifier) )) (compound_statement "{\n          uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);\n          *(undefined4 *)unaff_s7 = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n          cVar14 = cStack_dc;\n        }" { (expression_statement "uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0);" (assignment_expression "uVar22 = (**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0)" identifier = (call_expression "(**(code **)(pcVar32 + -0x7cec))(&unaff_s7->cur,unaff_s0,ppmStack_e0)" (parenthesized_expression "(**(code **)(pcVar32 + -0x7cec))" ( (pointer_expression "**(code **)(pcVar32 + -0x7cec)" * (pointer_expression "*(code **)(pcVar32 + -0x7cec)" * (cast_expression "(code **)(pcVar32 + -0x7cec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7cec)" ( (binary_expression "pcVar32 + -0x7cec" identifier + number_literal) ))))) )) (argument_list "(&unaff_s7->cur,unaff_s0,ppmStack_e0)" ( (pointer_expression "&unaff_s7->cur" & (field_expression "unaff_s7->cur" identifier -> field_identifier)) , identifier , identifier )))) ;) (expression_statement "*(undefined4 *)unaff_s7 = uVar22;" (assignment_expression "*(undefined4 *)unaff_s7 = uVar22" (pointer_expression "*(undefined4 *)unaff_s7" * (cast_expression "(undefined4 *)unaff_s7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (expression_statement "cVar14 = cStack_dc;" (assignment_expression "cVar14 = cStack_dc" identifier = identifier) ;) }) (else_clause "else {\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }" else (compound_statement "{\n          *(mbuiter_multi **)unaff_s7 = pmStack_e4;\n        }" { (expression_statement "*(mbuiter_multi **)unaff_s7 = pmStack_e4;" (assignment_expression "*(mbuiter_multi **)unaff_s7 = pmStack_e4" (pointer_expression "*(mbuiter_multi **)unaff_s7" * (cast_expression "(mbuiter_multi **)unaff_s7" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }))) (expression_statement "unaff_s5 = ppmStack_e0;" (assignment_expression "unaff_s5 = ppmStack_e0" identifier = identifier) ;) (expression_statement "(unaff_s7->state).__count = (int)ppmStack_e0;" (assignment_expression "(unaff_s7->state).__count = (int)ppmStack_e0" (field_expression "(unaff_s7->state).__count" (parenthesized_expression "(unaff_s7->state)" ( (field_expression "unaff_s7->state" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(int)ppmStack_e0" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(unaff_s7->state).__value.__wchb[0] = cVar14;" (assignment_expression "(unaff_s7->state).__value.__wchb[0] = cVar14" (subscript_expression "(unaff_s7->state).__value.__wchb[0]" (field_expression "(unaff_s7->state).__value.__wchb" (field_expression "(unaff_s7->state).__value" (parenthesized_expression "(unaff_s7->state)" ( (field_expression "unaff_s7->state" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = identifier) ;) (if_statement "if (cVar14 != '\0') {\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }" if (parenthesized_expression "(cVar14 != '\0')" ( (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar32 = *(code **)(pcVar32 + -0x7cfc);\n          *(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;\n          uVar22 = (*pcVar32)();\n          *(undefined4 *)&unaff_s7->next_done = uVar22;\n          pcVar32 = (code *)auStack_158._16_4_;\n        }" { (expression_statement "pcVar32 = *(code **)(pcVar32 + -0x7cfc);" (assignment_expression "pcVar32 = *(code **)(pcVar32 + -0x7cfc)" identifier = (pointer_expression "*(code **)(pcVar32 + -0x7cfc)" * (cast_expression "(code **)(pcVar32 + -0x7cfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7cfc)" ( (binary_expression "pcVar32 + -0x7cfc" identifier + number_literal) ))))) ;) (expression_statement "*(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8;" (assignment_expression "*(mbuiter_multi **)&unaff_s7->next_done = pmStack_d8" (pointer_expression "*(mbuiter_multi **)&unaff_s7->next_done" * (cast_expression "(mbuiter_multi **)&unaff_s7->next_done" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&unaff_s7->next_done" & (field_expression "unaff_s7->next_done" identifier -> field_identifier)))) = identifier) ;) (expression_statement "uVar22 = (*pcVar32)();" (assignment_expression "uVar22 = (*pcVar32)()" identifier = (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)&unaff_s7->next_done = uVar22;" (assignment_expression "*(undefined4 *)&unaff_s7->next_done = uVar22" (pointer_expression "*(undefined4 *)&unaff_s7->next_done" * (cast_expression "(undefined4 *)&unaff_s7->next_done" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s7->next_done" & (field_expression "unaff_s7->next_done" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) })) (expression_statement "unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8);" (assignment_expression "unaff_s7 = (mbuiter_multi *)((unaff_s7->cur).buf + 8)" identifier = (cast_expression "(mbuiter_multi *)((unaff_s7->cur).buf + 8)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((unaff_s7->cur).buf + 8)" ( (binary_expression "(unaff_s7->cur).buf + 8" (field_expression "(unaff_s7->cur).buf" (parenthesized_expression "(unaff_s7->cur)" ( (field_expression "unaff_s7->cur" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) ;) (expression_statement "pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18);" (assignment_expression "pmVar19 = (mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18)" identifier = (cast_expression "(mbuiter_multi *)((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18)" ( (binary_expression "(int)unaff_s5 + (int)(&pmStack_e4->cur + -1) + 0x18" (binary_expression "(int)unaff_s5 + (int)(&pmStack_e4->cur + -1)" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(&pmStack_e4->cur + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(&pmStack_e4->cur + -1)" ( (binary_expression "&pmStack_e4->cur + -1" (pointer_expression "&pmStack_e4->cur" & (field_expression "pmStack_e4->cur" identifier -> field_identifier)) + number_literal) )))) + number_literal) )))) ;) (expression_statement "pmStack_e4 = pmVar19;" (assignment_expression "pmStack_e4 = pmVar19" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (labeled_statement "LAB_000179e4:\n  pcVar33 = *(code **)(auStack_158._16_4_ + -0x7d18);" statement_identifier : (expression_statement "pcVar33 = *(code **)(auStack_158._16_4_ + -0x7d18);" (assignment_expression "pcVar33 = *(code **)(auStack_158._16_4_ + -0x7d18)" identifier = (pointer_expression "*(code **)(auStack_158._16_4_ + -0x7d18)" * (cast_expression "(code **)(auStack_158._16_4_ + -0x7d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7d18)" ( (binary_expression "auStack_158._16_4_ + -0x7d18" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) ;)) (expression_statement "pbVar17 = pbStack_4c;" (assignment_expression "pbVar17 = pbStack_4c" identifier = identifier) ;) (expression_statement "pmVar28 = pmVar19;" (assignment_expression "pmVar28 = pmVar19" identifier = identifier) ;) (expression_statement "puVar34 = puVar20;" (assignment_expression "puVar34 = puVar20" identifier = identifier) ;) (if_statement "if (pbStack_4c == *(byte **)auStack_13c) {\n    return;\n  }" if (parenthesized_expression "(pbStack_4c == *(byte **)auStack_13c)" ( (binary_expression "pbStack_4c == *(byte **)auStack_13c" identifier == (pointer_expression "*(byte **)auStack_13c" * (cast_expression "(byte **)auStack_13c" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_000180cc:\n  pcVar36 = mbscasestr;" statement_identifier : (expression_statement "pcVar36 = mbscasestr;" (assignment_expression "pcVar36 = mbscasestr" identifier = identifier) ;)) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar23 = *(undefined4 **)(pcVar33 + 0x3338c);" (assignment_expression "puVar23 = *(undefined4 **)(pcVar33 + 0x3338c)" identifier = (pointer_expression "*(undefined4 **)(pcVar33 + 0x3338c)" * (cast_expression "(undefined4 **)(pcVar33 + 0x3338c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x3338c)" ( (binary_expression "pcVar33 + 0x3338c" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = *(code **)(pcVar33 + 0x3333c);" (assignment_expression "pcVar32 = *(code **)(pcVar33 + 0x3333c)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x3333c)" * (cast_expression "(code **)(pcVar33 + 0x3333c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x3333c)" ( (binary_expression "pcVar33 + 0x3333c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 **)(puVar34 + -0x1b0) = puVar23;" (assignment_expression "*(undefined4 **)(puVar34 + -0x1b0) = puVar23" (pointer_expression "*(undefined4 **)(puVar34 + -0x1b0)" * (cast_expression "(undefined4 **)(puVar34 + -0x1b0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1b0)" ( (binary_expression "puVar34 + -0x1b0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(puVar34 + -0x1d0) = pcVar33 + 0x3b07c;" (assignment_expression "*(code **)(puVar34 + -0x1d0) = pcVar33 + 0x3b07c" (pointer_expression "*(code **)(puVar34 + -0x1d0)" * (cast_expression "(code **)(puVar34 + -0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) )))) = (binary_expression "pcVar33 + 0x3b07c" identifier + number_literal)) ;) (expression_statement "*(mbuiter_multi **)(puVar34 + -0x24) = unaff_s1;" (assignment_expression "*(mbuiter_multi **)(puVar34 + -0x24) = unaff_s1" (pointer_expression "*(mbuiter_multi **)(puVar34 + -0x24)" * (cast_expression "(mbuiter_multi **)(puVar34 + -0x24)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x24)" ( (binary_expression "puVar34 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbuiter_multi **)(puVar34 + -0x28) = unaff_s0;" (assignment_expression "*(mbuiter_multi **)(puVar34 + -0x28) = unaff_s0" (pointer_expression "*(mbuiter_multi **)(puVar34 + -0x28)" * (cast_expression "(mbuiter_multi **)(puVar34 + -0x28)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x28)" ( (binary_expression "puVar34 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(puVar34 + -4) = pcVar36;" (assignment_expression "*(code **)(puVar34 + -4) = pcVar36" (pointer_expression "*(code **)(puVar34 + -4)" * (cast_expression "(code **)(puVar34 + -4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -4)" ( (binary_expression "puVar34 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar34 + -8) = auStack_158;" (assignment_expression "*(undefined1 **)(puVar34 + -8) = auStack_158" (pointer_expression "*(undefined1 **)(puVar34 + -8)" * (cast_expression "(undefined1 **)(puVar34 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -8)" ( (binary_expression "puVar34 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbuiter_multi **)(puVar34 + -0xc) = unaff_s7;" (assignment_expression "*(mbuiter_multi **)(puVar34 + -0xc) = unaff_s7" (pointer_expression "*(mbuiter_multi **)(puVar34 + -0xc)" * (cast_expression "(mbuiter_multi **)(puVar34 + -0xc)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xc)" ( (binary_expression "puVar34 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbuiter_multi **)(puVar34 + -0x10) = unaff_s6;" (assignment_expression "*(mbuiter_multi **)(puVar34 + -0x10) = unaff_s6" (pointer_expression "*(mbuiter_multi **)(puVar34 + -0x10)" * (cast_expression "(mbuiter_multi **)(puVar34 + -0x10)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbuiter_multi ***)(puVar34 + -0x14) = unaff_s5;" (assignment_expression "*(mbuiter_multi ***)(puVar34 + -0x14) = unaff_s5" (pointer_expression "*(mbuiter_multi ***)(puVar34 + -0x14)" * (cast_expression "(mbuiter_multi ***)(puVar34 + -0x14)" ( (type_descriptor "mbuiter_multi ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar34 + -0x14)" ( (binary_expression "puVar34 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbuiter_multi **)(puVar34 + -0x18) = unaff_s4;" (assignment_expression "*(mbuiter_multi **)(puVar34 + -0x18) = unaff_s4" (pointer_expression "*(mbuiter_multi **)(puVar34 + -0x18)" * (cast_expression "(mbuiter_multi **)(puVar34 + -0x18)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x18)" ( (binary_expression "puVar34 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbuiter_multi **)(puVar34 + -0x1c) = unaff_s3;" (assignment_expression "*(mbuiter_multi **)(puVar34 + -0x1c) = unaff_s3" (pointer_expression "*(mbuiter_multi **)(puVar34 + -0x1c)" * (cast_expression "(mbuiter_multi **)(puVar34 + -0x1c)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1c)" ( (binary_expression "puVar34 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbuiter_multi **)(puVar34 + -0x20) = pmVar28;" (assignment_expression "*(mbuiter_multi **)(puVar34 + -0x20) = pmVar28" (pointer_expression "*(mbuiter_multi **)(puVar34 + -0x20)" * (cast_expression "(mbuiter_multi **)(puVar34 + -0x20)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x20)" ( (binary_expression "puVar34 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbuiter_multi **)(puVar34 + -0x1b8) = pmVar15;" (assignment_expression "*(mbuiter_multi **)(puVar34 + -0x1b8) = pmVar15" (pointer_expression "*(mbuiter_multi **)(puVar34 + -0x1b8)" * (cast_expression "(mbuiter_multi **)(puVar34 + -0x1b8)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x2c) = *puVar23;" (assignment_expression "*(undefined4 *)(puVar34 + -0x2c) = *puVar23" (pointer_expression "*(undefined4 *)(puVar34 + -0x2c)" * (cast_expression "(undefined4 *)(puVar34 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x2c)" ( (binary_expression "puVar34 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "uVar16 = (*pcVar32)();" (assignment_expression "uVar16 = (*pcVar32)()" identifier = (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (uVar16 < 2) {\n    pcVar32 = *(code **)(iVar7 + -0x7e78);\n    pwc = (mbuiter_multi *)auStack_158;\n    if (**(byte **)(puVar34 + -0x1b8) != 0) {\n      uVar16 = (uint)**(byte **)(puVar34 + -0x1b8);\n      *(uint *)(puVar34 + -0x1c0) = uVar16;\n      puVar23 = (undefined4 *)(*pcVar32)();\n      unaff_s7 = (mbuiter_multi *)*puVar23;\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(undefined4 **)(puVar34 + -0x1a0) = puVar23;\n      if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n        piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);\n      }\n      bVar1 = *pbVar17;\n      *(int *)(puVar34 + -0x1a8) = *(int *)(puVar34 + -0x1b8) + 1;\n      pwc = (mbuiter_multi *)auStack_158;\n      if (bVar1 != 0) {\n        iVar8 = *(int *)(iVar7 + -0x7fcc);\n        *(undefined4 *)(puVar34 + -0x1ac) = 0;\n        *(undefined4 *)(puVar34 + -0x1bc) = 1;\n        unaff_s3 = (mbuiter_multi *)0x0;\n        pwc = (mbuiter_multi *)(puVar34 + -0x198);\n        *(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;\n        *(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);\n        *(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);\n        pcVar29 = (char *)0x0;\n        pbVar26 = pbVar17;\nLAB_000181cc:\n        do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);\n      }\n    }\n  }\n  else {\n    _Var2 = pmVar15->in_shift;\n    iVar8 = (int)_Var2;\n    iVar9 = *(int *)(iVar7 + -0x7ef4);\n    pmVar31 = (mbstate_t *)(puVar34 + -0x140);\n    *(mbuiter_multi **)(puVar34 + -0x134) = pmVar15;\n    *(undefined4 *)(puVar34 + -0x140) = 0;\n    *(undefined4 *)(puVar34 + -0x13c) = 0;\n    *(int *)(puVar34 + -0x1c8) = iVar9;\n    puVar34[-0x144] = 0;\n    uVar16 = *(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4);\n    puVar34[-0x138] = 0;\n    if ((uVar16 >> (_Var2 & 0x1f) & 1) == 0) {\n      iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar8 == 0) goto LAB_00019168;\n      pcVar32 = *(code **)(iVar7 + -0x7d40);\n      puVar34[-0x144] = 1;\n      sVar6 = (*pcVar32)();\n      unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8);\n      sVar6 = strnlen1(&unaff_s3->in_shift,sVar6);\n      pmVar19 = (mbuiter_multi *)(puVar34 + -0x128);\n      sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(size_t *)(puVar34 + -0x130) = sVar6;\n      if (sVar6 == 0xffffffff) {\n        puVar34[-300] = 0;\n        bVar3 = false;\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0xfffffffe) {\n        bVar3 = false;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x130) = uVar22;\n        puVar34[-300] = 0;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0x128);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-300] = 1;\n      iVar9 = (*pcVar32)(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar9 != 0) {\n        puVar34[-0x144] = 0;\n      }\n      puVar34[-0x138] = 1;\n    }\n    else {\n      *(int *)(puVar34 + -0x128) = iVar8;\n      *(undefined4 *)(puVar34 + -0x130) = 1;\n      puVar34[-300] = 1;\n      puVar34[-0x138] = 1;\n    }\n    if (iVar8 != 0) {\n      bVar3 = true;\nLAB_00018454:\n      unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);\n      puVar20 = *(undefined1 **)(puVar34 + -0x134);\n      uVar22 = *(undefined4 *)(puVar34 + -0x130);\n      *(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8);\n      *(undefined4 *)(puVar34 + -0x108) = 0;\n      puVar34[-0x10c] = 0;\n      *(undefined4 *)(puVar34 + -0x104) = 0;\n      puVar34[-0x100] = 0;\n      if (puVar20 == puVar34 + -0x124) {\n        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x194) = uVar21;\n      }\n      else {\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }\n      *(undefined4 *)(puVar34 + -400) = uVar22;\n      puVar34[-0x18c] = bVar3;\n      if (bVar3) {\n        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x188) = uVar22;\n      }\n      puVar34[-0xd4] = 0;\n      unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0);\n      *(undefined4 *)(puVar34 + -0xd0) = 0;\n      *(undefined4 *)(puVar34 + -0x1b4) = 1;\n      unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8);\n      iVar8 = *(int *)(iVar7 + -0x7fcc);\n      pwc = (mbuiter_multi *)(puVar34 + -0x80);\n      *(undefined4 *)(puVar34 + -0xcc) = 0;\n      *(undefined4 *)(puVar34 + -0x1ac) = 0;\n      *(byte **)(puVar34 + -0xc4) = pbVar17;\n      *(undefined4 *)(puVar34 + -0x1bc) = 0;\n      *(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8;\n      *(undefined4 *)(puVar34 + -0x1c0) = 0;\n      puVar34[-200] = 0;\n      pbVar26 = pbVar17;\n      if (puVar34[-0xd4] != '\0') goto LAB_000188e0;\n      goto LAB_000184f0;\n    }\n  }" if (parenthesized_expression "(uVar16 < 2)" ( (binary_expression "uVar16 < 2" identifier < number_literal) )) (compound_statement "{\n    pcVar32 = *(code **)(iVar7 + -0x7e78);\n    pwc = (mbuiter_multi *)auStack_158;\n    if (**(byte **)(puVar34 + -0x1b8) != 0) {\n      uVar16 = (uint)**(byte **)(puVar34 + -0x1b8);\n      *(uint *)(puVar34 + -0x1c0) = uVar16;\n      puVar23 = (undefined4 *)(*pcVar32)();\n      unaff_s7 = (mbuiter_multi *)*puVar23;\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(undefined4 **)(puVar34 + -0x1a0) = puVar23;\n      if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n        piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);\n      }\n      bVar1 = *pbVar17;\n      *(int *)(puVar34 + -0x1a8) = *(int *)(puVar34 + -0x1b8) + 1;\n      pwc = (mbuiter_multi *)auStack_158;\n      if (bVar1 != 0) {\n        iVar8 = *(int *)(iVar7 + -0x7fcc);\n        *(undefined4 *)(puVar34 + -0x1ac) = 0;\n        *(undefined4 *)(puVar34 + -0x1bc) = 1;\n        unaff_s3 = (mbuiter_multi *)0x0;\n        pwc = (mbuiter_multi *)(puVar34 + -0x198);\n        *(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;\n        *(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);\n        *(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);\n        pcVar29 = (char *)0x0;\n        pbVar26 = pbVar17;\nLAB_000181cc:\n        do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);\n      }\n    }\n  }" { (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7e78);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7e78)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7e78)" * (cast_expression "(code **)(iVar7 + -0x7e78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7e78)" ( (binary_expression "iVar7 + -0x7e78" identifier + number_literal) ))))) ;) (expression_statement "pwc = (mbuiter_multi *)auStack_158;" (assignment_expression "pwc = (mbuiter_multi *)auStack_158" identifier = (cast_expression "(mbuiter_multi *)auStack_158" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (**(byte **)(puVar34 + -0x1b8) != 0) {\n      uVar16 = (uint)**(byte **)(puVar34 + -0x1b8);\n      *(uint *)(puVar34 + -0x1c0) = uVar16;\n      puVar23 = (undefined4 *)(*pcVar32)();\n      unaff_s7 = (mbuiter_multi *)*puVar23;\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(undefined4 **)(puVar34 + -0x1a0) = puVar23;\n      if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n        piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);\n      }\n      bVar1 = *pbVar17;\n      *(int *)(puVar34 + -0x1a8) = *(int *)(puVar34 + -0x1b8) + 1;\n      pwc = (mbuiter_multi *)auStack_158;\n      if (bVar1 != 0) {\n        iVar8 = *(int *)(iVar7 + -0x7fcc);\n        *(undefined4 *)(puVar34 + -0x1ac) = 0;\n        *(undefined4 *)(puVar34 + -0x1bc) = 1;\n        unaff_s3 = (mbuiter_multi *)0x0;\n        pwc = (mbuiter_multi *)(puVar34 + -0x198);\n        *(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;\n        *(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);\n        *(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);\n        pcVar29 = (char *)0x0;\n        pbVar26 = pbVar17;\nLAB_000181cc:\n        do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);\n      }\n    }" if (parenthesized_expression "(**(byte **)(puVar34 + -0x1b8) != 0)" ( (binary_expression "**(byte **)(puVar34 + -0x1b8) != 0" (pointer_expression "**(byte **)(puVar34 + -0x1b8)" * (pointer_expression "*(byte **)(puVar34 + -0x1b8)" * (cast_expression "(byte **)(puVar34 + -0x1b8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      uVar16 = (uint)**(byte **)(puVar34 + -0x1b8);\n      *(uint *)(puVar34 + -0x1c0) = uVar16;\n      puVar23 = (undefined4 *)(*pcVar32)();\n      unaff_s7 = (mbuiter_multi *)*puVar23;\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(undefined4 **)(puVar34 + -0x1a0) = puVar23;\n      if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n        piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);\n      }\n      bVar1 = *pbVar17;\n      *(int *)(puVar34 + -0x1a8) = *(int *)(puVar34 + -0x1b8) + 1;\n      pwc = (mbuiter_multi *)auStack_158;\n      if (bVar1 != 0) {\n        iVar8 = *(int *)(iVar7 + -0x7fcc);\n        *(undefined4 *)(puVar34 + -0x1ac) = 0;\n        *(undefined4 *)(puVar34 + -0x1bc) = 1;\n        unaff_s3 = (mbuiter_multi *)0x0;\n        pwc = (mbuiter_multi *)(puVar34 + -0x198);\n        *(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;\n        *(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);\n        *(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);\n        pcVar29 = (char *)0x0;\n        pbVar26 = pbVar17;\nLAB_000181cc:\n        do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);\n      }\n    }" { (expression_statement "uVar16 = (uint)**(byte **)(puVar34 + -0x1b8);" (assignment_expression "uVar16 = (uint)**(byte **)(puVar34 + -0x1b8)" identifier = (binary_expression "(uint)**(byte **)(puVar34 + -0x1b8)" (parenthesized_expression "(uint)" ( identifier )) * (pointer_expression "*(byte **)(puVar34 + -0x1b8)" * (cast_expression "(byte **)(puVar34 + -0x1b8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) )))))) ;) (expression_statement "*(uint *)(puVar34 + -0x1c0) = uVar16;" (assignment_expression "*(uint *)(puVar34 + -0x1c0) = uVar16" (pointer_expression "*(uint *)(puVar34 + -0x1c0)" * (cast_expression "(uint *)(puVar34 + -0x1c0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar23 = (undefined4 *)(*pcVar32)();" (assignment_expression "puVar23 = (undefined4 *)(*pcVar32)()" identifier = (cast_expression "(undefined4 *)(*pcVar32)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s7 = (mbuiter_multi *)*puVar23;" (assignment_expression "unaff_s7 = (mbuiter_multi *)*puVar23" identifier = (cast_expression "(mbuiter_multi *)*puVar23" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar23" * identifier))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 **)(puVar34 + -0x1a0) = puVar23;" (assignment_expression "*(undefined4 **)(puVar34 + -0x1a0) = puVar23" (pointer_expression "*(undefined4 **)(puVar34 + -0x1a0)" * (cast_expression "(undefined4 **)(puVar34 + -0x1a0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1a0)" ( (binary_expression "puVar34 + -0x1a0" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n        piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);\n      }" if (parenthesized_expression "((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0)" ( (binary_expression "(*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0" (parenthesized_expression "(*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1)" ( (binary_expression "*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1" (pointer_expression "*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20)" * (cast_expression "(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((unaff_s7->cur).buf + uVar16 * 2 + -0x20)" ( (binary_expression "(unaff_s7->cur).buf + uVar16 * 2 + -0x20" (binary_expression "(unaff_s7->cur).buf + uVar16 * 2" (field_expression "(unaff_s7->cur).buf" (parenthesized_expression "(unaff_s7->cur)" ( (field_expression "unaff_s7->cur" identifier -> field_identifier) )) . field_identifier) + (binary_expression "uVar16 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);\n      }" { (expression_statement "piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();" (assignment_expression "piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))()" identifier = (cast_expression "(int *)(**(code **)(iVar7 + -0x7e70))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar7 + -0x7e70))()" (parenthesized_expression "(**(code **)(iVar7 + -0x7e70))" ( (pointer_expression "**(code **)(iVar7 + -0x7e70)" * (pointer_expression "*(code **)(iVar7 + -0x7e70)" * (cast_expression "(code **)(iVar7 + -0x7e70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7e70)" ( (binary_expression "iVar7 + -0x7e70" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3);" (assignment_expression "*(uint *)(puVar34 + -0x1c0) = (uint)*(byte *)(*piVar10 + uVar16 * 4 + 3)" (pointer_expression "*(uint *)(puVar34 + -0x1c0)" * (cast_expression "(uint *)(puVar34 + -0x1c0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) )))) = (binary_expression "(uint)*(byte *)(*piVar10 + uVar16 * 4 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*piVar10 + uVar16 * 4 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar10 + uVar16 * 4 + 3)" ( (binary_expression "*piVar10 + uVar16 * 4 + 3" (binary_expression "*piVar10 + uVar16 * 4" (pointer_expression "*piVar10" * identifier) + (binary_expression "uVar16 * 4" identifier * number_literal)) + number_literal) ))))) ;) })) (expression_statement "bVar1 = *pbVar17;" (assignment_expression "bVar1 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (expression_statement "*(int *)(puVar34 + -0x1a8) = *(int *)(puVar34 + -0x1b8) + 1;" (assignment_expression "*(int *)(puVar34 + -0x1a8) = *(int *)(puVar34 + -0x1b8) + 1" (pointer_expression "*(int *)(puVar34 + -0x1a8)" * (cast_expression "(int *)(puVar34 + -0x1a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1a8)" ( (binary_expression "puVar34 + -0x1a8" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar34 + -0x1b8) + 1" (pointer_expression "*(int *)(puVar34 + -0x1b8)" * (cast_expression "(int *)(puVar34 + -0x1b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pwc = (mbuiter_multi *)auStack_158;" (assignment_expression "pwc = (mbuiter_multi *)auStack_158" identifier = (cast_expression "(mbuiter_multi *)auStack_158" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (bVar1 != 0) {\n        iVar8 = *(int *)(iVar7 + -0x7fcc);\n        *(undefined4 *)(puVar34 + -0x1ac) = 0;\n        *(undefined4 *)(puVar34 + -0x1bc) = 1;\n        unaff_s3 = (mbuiter_multi *)0x0;\n        pwc = (mbuiter_multi *)(puVar34 + -0x198);\n        *(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;\n        *(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);\n        *(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);\n        pcVar29 = (char *)0x0;\n        pbVar26 = pbVar17;\nLAB_000181cc:\n        do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);\n      }" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = *(int *)(iVar7 + -0x7fcc);\n        *(undefined4 *)(puVar34 + -0x1ac) = 0;\n        *(undefined4 *)(puVar34 + -0x1bc) = 1;\n        unaff_s3 = (mbuiter_multi *)0x0;\n        pwc = (mbuiter_multi *)(puVar34 + -0x198);\n        *(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;\n        *(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);\n        *(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);\n        pcVar29 = (char *)0x0;\n        pbVar26 = pbVar17;\nLAB_000181cc:\n        do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);\n      }" { (expression_statement "iVar8 = *(int *)(iVar7 + -0x7fcc);" (assignment_expression "iVar8 = *(int *)(iVar7 + -0x7fcc)" identifier = (pointer_expression "*(int *)(iVar7 + -0x7fcc)" * (cast_expression "(int *)(iVar7 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fcc)" ( (binary_expression "iVar7 + -0x7fcc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x1ac) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x1ac) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x1ac)" * (cast_expression "(undefined4 *)(puVar34 + -0x1ac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1ac)" ( (binary_expression "puVar34 + -0x1ac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x1bc) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x1bc) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x1bc)" * (cast_expression "(undefined4 *)(puVar34 + -0x1bc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unaff_s3 = (mbuiter_multi *)0x0;" (assignment_expression "unaff_s3 = (mbuiter_multi *)0x0" identifier = (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwc = (mbuiter_multi *)(puVar34 + -0x198);" (assignment_expression "pwc = (mbuiter_multi *)(puVar34 + -0x198)" identifier = (cast_expression "(mbuiter_multi *)(puVar34 + -0x198)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x198)" ( (binary_expression "puVar34 + -0x198" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8;" (assignment_expression "*(undefined1 **)(puVar34 + -0x19c) = &DAT_00007220 + iVar8" (pointer_expression "*(undefined1 **)(puVar34 + -0x19c)" * (cast_expression "(undefined1 **)(puVar34 + -0x19c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x19c)" ( (binary_expression "puVar34 + -0x19c" identifier + number_literal) )))) = (binary_expression "&DAT_00007220 + iVar8" (pointer_expression "&DAT_00007220" & identifier) + identifier)) ;) (expression_statement "*(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8);" (assignment_expression "*(int *)(puVar34 + -0x1b4) = *(int *)(puVar34 + -0x1b8)" (pointer_expression "*(int *)(puVar34 + -0x1b4)" * (cast_expression "(int *)(puVar34 + -0x1b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b4)" ( (binary_expression "puVar34 + -0x1b4" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar34 + -0x1b8)" * (cast_expression "(int *)(puVar34 + -0x1b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8);" (assignment_expression "*(int *)(puVar34 + -0x1a4) = 1 - *(int *)(puVar34 + -0x1b8)" (pointer_expression "*(int *)(puVar34 + -0x1a4)" * (cast_expression "(int *)(puVar34 + -0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1a4)" ( (binary_expression "puVar34 + -0x1a4" identifier + number_literal) )))) = (binary_expression "1 - *(int *)(puVar34 + -0x1b8)" number_literal - (pointer_expression "*(int *)(puVar34 + -0x1b8)" * (cast_expression "(int *)(puVar34 + -0x1b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) )))))) ;) (expression_statement "pcVar29 = (char *)0x0;" (assignment_expression "pcVar29 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar26 = pbVar17;" (assignment_expression "pbVar26 = pbVar17" identifier = identifier) ;) (labeled_statement "LAB_000181cc:\n        do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);" statement_identifier : (do_statement "do {\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        } while (*pbVar17 != 0);" do (compound_statement "{\n          pbVar17 = pbVar26;\n          if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }\nLAB_00018228:\n          uVar16 = (uint)*pbVar17;\n          unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n          if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }\n          pbVar17 = pbVar17 + 1;\n          pcVar29 = pcVar29 + 1;\n          pbVar26 = pbVar17;\n        }" { (expression_statement "pbVar17 = pbVar26;" (assignment_expression "pbVar17 = pbVar26" identifier = identifier) ;) (if_statement "if (((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)) {\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }" if (parenthesized_expression "(((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29))" ( (binary_expression "((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)) &&\n             ((char *)((int)unaff_s3 * 5) <= pcVar29)" (parenthesized_expression "((*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3))" ( (binary_expression "(*(int *)(puVar34 + -0x1bc) != 0) && ((mbuiter_multi *)&DAT_00000009 < unaff_s3)" (parenthesized_expression "(*(int *)(puVar34 + -0x1bc) != 0)" ( (binary_expression "*(int *)(puVar34 + -0x1bc) != 0" (pointer_expression "*(int *)(puVar34 + -0x1bc)" * (cast_expression "(int *)(puVar34 + -0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((mbuiter_multi *)&DAT_00000009 < unaff_s3)" ( (binary_expression "(mbuiter_multi *)&DAT_00000009 < unaff_s3" (cast_expression "(mbuiter_multi *)&DAT_00000009" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier)) < identifier) ))) )) && (parenthesized_expression "((char *)((int)unaff_s3 * 5) <= pcVar29)" ( (binary_expression "(char *)((int)unaff_s3 * 5) <= pcVar29" (cast_expression "(char *)((int)unaff_s3 * 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 * 5)" ( (binary_expression "(int)unaff_s3 * 5" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) <= identifier) ))) )) (compound_statement "{\n            iVar8 = *(int *)(puVar34 + -0x1b4);\n            if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }\n            uVar21 = *(undefined4 *)(puVar34 + -0x1b8);\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);\n            iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x1bc) = iVar8;\n            if (iVar8 != 0) break;\n            *(undefined4 *)(puVar34 + -0x1b4) = 0;\n            unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);\n          }" { (expression_statement "iVar8 = *(int *)(puVar34 + -0x1b4);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x1b4)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1b4)" * (cast_expression "(int *)(puVar34 + -0x1b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b4)" ( (binary_expression "puVar34 + -0x1b4" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 != 0) {\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(char **)(puVar34 + -0x1ac) = pcVar29;\n              *(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);\n              if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;\n            }" { (expression_statement "iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac));" (assignment_expression "iVar9 = (**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac))" identifier = (call_expression "(**(code **)(iVar7 + -0x7de8))\n                                (iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac))" (parenthesized_expression "(**(code **)(iVar7 + -0x7de8))" ( (pointer_expression "**(code **)(iVar7 + -0x7de8)" * (pointer_expression "*(code **)(iVar7 + -0x7de8)" * (cast_expression "(code **)(iVar7 + -0x7de8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7de8)" ( (binary_expression "iVar7 + -0x7de8" identifier + number_literal) ))))) )) (argument_list "(iVar8,(int)pcVar29 - *(int *)(puVar34 + -0x1ac))" ( identifier , (binary_expression "(int)pcVar29 - *(int *)(puVar34 + -0x1ac)" (cast_expression "(int)pcVar29" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(puVar34 + -0x1ac)" * (cast_expression "(int *)(puVar34 + -0x1ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1ac)" ( (binary_expression "puVar34 + -0x1ac" identifier + number_literal) ))))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar34 + -0x1ac) = pcVar29;" (assignment_expression "*(char **)(puVar34 + -0x1ac) = pcVar29" (pointer_expression "*(char **)(puVar34 + -0x1ac)" * (cast_expression "(char **)(puVar34 + -0x1ac)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1ac)" ( (binary_expression "puVar34 + -0x1ac" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9);" (assignment_expression "*(char **)(puVar34 + -0x1b4) = (char *)(iVar8 + iVar9)" (pointer_expression "*(char **)(puVar34 + -0x1b4)" * (cast_expression "(char **)(puVar34 + -0x1b4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1b4)" ( (binary_expression "puVar34 + -0x1b4" identifier + number_literal) )))) = (cast_expression "(char *)(iVar8 + iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar9)" ( (binary_expression "iVar8 + iVar9" identifier + identifier) )))) ;) (if_statement "if (*(char *)(iVar8 + iVar9) != '\0') goto LAB_00018228;" if (parenthesized_expression "(*(char *)(iVar8 + iVar9) != '\0')" ( (binary_expression "*(char *)(iVar8 + iVar9) != '\0'" (pointer_expression "*(char *)(iVar8 + iVar9)" * (cast_expression "(char *)(iVar8 + iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar9)" ( (binary_expression "iVar8 + iVar9" identifier + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00018228;" goto statement_identifier ;)) })) (expression_statement "uVar21 = *(undefined4 *)(puVar34 + -0x1b8);" (assignment_expression "uVar21 = *(undefined4 *)(puVar34 + -0x1b8)" identifier = (pointer_expression "*(undefined4 *)(puVar34 + -0x1b8)" * (cast_expression "(undefined4 *)(puVar34 + -0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21);" (assignment_expression "uVar22 = (**(code **)(iVar7 + -0x7d94))(uVar21)" identifier = (call_expression "(**(code **)(iVar7 + -0x7d94))(uVar21)" (parenthesized_expression "(**(code **)(iVar7 + -0x7d94))" ( (pointer_expression "**(code **)(iVar7 + -0x7d94)" * (pointer_expression "*(code **)(iVar7 + -0x7d94)" * (cast_expression "(code **)(iVar7 + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d94)" ( (binary_expression "iVar7 + -0x7d94" identifier + number_literal) ))))) )) (argument_list "(uVar21)" ( identifier )))) ;) (expression_statement "iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc);" (assignment_expression "iVar8 = (**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc)" identifier = (call_expression "(**(code **)(puVar34 + -0x19c))(pbVar17,uVar21,uVar22,pwc)" (parenthesized_expression "(**(code **)(puVar34 + -0x19c))" ( (pointer_expression "**(code **)(puVar34 + -0x19c)" * (pointer_expression "*(code **)(puVar34 + -0x19c)" * (cast_expression "(code **)(puVar34 + -0x19c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x19c)" ( (binary_expression "puVar34 + -0x19c" identifier + number_literal) ))))) )) (argument_list "(pbVar17,uVar21,uVar22,pwc)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar34 + -0x1bc) = iVar8;" (assignment_expression "*(int *)(puVar34 + -0x1bc) = iVar8" (pointer_expression "*(int *)(puVar34 + -0x1bc)" * (cast_expression "(int *)(puVar34 + -0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined4 *)(puVar34 + -0x1b4) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x1b4) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x1b4)" * (cast_expression "(undefined4 *)(puVar34 + -0x1b4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b4)" ( (binary_expression "puVar34 + -0x1b4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0);" (assignment_expression "unaff_s7 = (mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0)" identifier = (cast_expression "(mbuiter_multi *)**(undefined4 **)(puVar34 + -0x1a0)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar34 + -0x1a0)" * (pointer_expression "*(undefined4 **)(puVar34 + -0x1a0)" * (cast_expression "(undefined4 **)(puVar34 + -0x1a0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1a0)" ( (binary_expression "puVar34 + -0x1a0" identifier + number_literal) ))))))) ;) })) (labeled_statement "LAB_00018228:\n          uVar16 = (uint)*pbVar17;" statement_identifier : (expression_statement "uVar16 = (uint)*pbVar17;" (assignment_expression "uVar16 = (uint)*pbVar17" identifier = (binary_expression "(uint)*pbVar17" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;" (assignment_expression "unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1" identifier = (cast_expression "(mbuiter_multi *)&unaff_s3->field_0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s3->field_0x1" & (field_expression "unaff_s3->field_0x1" identifier -> field_identifier)))) ;) (if_statement "if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0) {\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }" if (parenthesized_expression "((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0)" ( (binary_expression "(*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) == 0" (parenthesized_expression "(*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1)" ( (binary_expression "*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1" (pointer_expression "*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20)" * (cast_expression "(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((unaff_s7->cur).buf + uVar16 * 2 + -0x20)" ( (binary_expression "(unaff_s7->cur).buf + uVar16 * 2 + -0x20" (binary_expression "(unaff_s7->cur).buf + uVar16 * 2" (field_expression "(unaff_s7->cur).buf" (parenthesized_expression "(unaff_s7->cur)" ( (field_expression "unaff_s7->cur" identifier -> field_identifier) )) . field_identifier) + (binary_expression "uVar16 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;\n          }" { (if_statement "if (uVar16 == *(uint *)(puVar34 + -0x1c0)) goto LAB_00018348;" if (parenthesized_expression "(uVar16 == *(uint *)(puVar34 + -0x1c0))" ( (binary_expression "uVar16 == *(uint *)(puVar34 + -0x1c0)" identifier == (pointer_expression "*(uint *)(puVar34 + -0x1c0)" * (cast_expression "(uint *)(puVar34 + -0x1c0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00018348;" goto statement_identifier ;)) }) (else_clause "else {\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }" else (compound_statement "{\n            piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }\n          }" { (expression_statement "piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))();" (assignment_expression "piVar10 = (int *)(**(code **)(iVar7 + -0x7e70))()" identifier = (cast_expression "(int *)(**(code **)(iVar7 + -0x7e70))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar7 + -0x7e70))()" (parenthesized_expression "(**(code **)(iVar7 + -0x7e70))" ( (pointer_expression "**(code **)(iVar7 + -0x7e70)" * (pointer_expression "*(code **)(iVar7 + -0x7e70)" * (cast_expression "(code **)(iVar7 + -0x7e70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7e70)" ( (binary_expression "iVar7 + -0x7e70" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)) {\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }" if (parenthesized_expression "(*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0))" ( (binary_expression "*(int *)(*piVar10 + uVar16 * 4) == *(int *)(puVar34 + -0x1c0)" (pointer_expression "*(int *)(*piVar10 + uVar16 * 4)" * (cast_expression "(int *)(*piVar10 + uVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar10 + uVar16 * 4)" ( (binary_expression "*piVar10 + uVar16 * 4" (pointer_expression "*piVar10" * identifier) + (binary_expression "uVar16 * 4" identifier * number_literal)) )))) == (pointer_expression "*(int *)(puVar34 + -0x1c0)" * (cast_expression "(int *)(puVar34 + -0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_00018348:\n              pbVar26 = pbVar17 + 1;\n              uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);\n              if (uVar16 == 0) break;\n              uVar11 = (uint)(char)*pbVar26;\n              if (uVar11 == 0) break;\n              pcVar30 = *(char **)(puVar34 + -0x1a8);\n              pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);\n              unaff_s6 = (mbuiter_multi *)pbVar26;\n              while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }\n              goto LAB_000181cc;\n            }" { (labeled_statement "LAB_00018348:\n              pbVar26 = pbVar17 + 1;" statement_identifier : (expression_statement "pbVar26 = pbVar17 + 1;" (assignment_expression "pbVar26 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;)) (expression_statement "uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1);" (assignment_expression "uVar16 = (uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1)" identifier = (binary_expression "(uint)*(char *)(*(int *)(puVar34 + -0x1b8) + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(*(int *)(puVar34 + -0x1b8) + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + -0x1b8) + 1)" ( (binary_expression "*(int *)(puVar34 + -0x1b8) + 1" (pointer_expression "*(int *)(puVar34 + -0x1b8)" * (cast_expression "(int *)(puVar34 + -0x1b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (uVar16 == 0) break;" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar11 = (uint)(char)*pbVar26;" (assignment_expression "uVar11 = (uint)(char)*pbVar26" identifier = (binary_expression "(uint)(char)*pbVar26" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (if_statement "if (uVar11 == 0) break;" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar30 = *(char **)(puVar34 + -0x1a8);" (assignment_expression "pcVar30 = *(char **)(puVar34 + -0x1a8)" identifier = (pointer_expression "*(char **)(puVar34 + -0x1a8)" * (cast_expression "(char **)(puVar34 + -0x1a8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1a8)" ( (binary_expression "puVar34 + -0x1a8" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4);" (assignment_expression "pcVar27 = pcVar29 + *(int *)(puVar34 + -0x1a4)" identifier = (binary_expression "pcVar29 + *(int *)(puVar34 + -0x1a4)" identifier + (pointer_expression "*(int *)(puVar34 + -0x1a4)" * (cast_expression "(int *)(puVar34 + -0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1a4)" ( (binary_expression "puVar34 + -0x1a4" identifier + number_literal) )))))) ;) (expression_statement "unaff_s6 = (mbuiter_multi *)pbVar26;" (assignment_expression "unaff_s6 = (mbuiter_multi *)pbVar26" identifier = (cast_expression "(mbuiter_multi *)pbVar26" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (while_statement "while( true ) {\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                uVar11 = uVar11 & 0xff;\n                pcVar29 = pcVar30 + (int)pcVar27;\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                uVar16 = uVar16 & 0xff;\n                pcVar32 = *(code **)(iVar7 + -0x7e70);\n                if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }\n                pcVar30 = pcVar30 + 1;\n                if (uVar11 != uVar16) break;\n                uVar16 = (uint)*pcVar30;\n                unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;\n                if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;\n              }" { (expression_statement "uVar11 = uVar11 & 0xff;" (assignment_expression "uVar11 = uVar11 & 0xff" identifier = (binary_expression "uVar11 & 0xff" identifier & number_literal)) ;) (expression_statement "pcVar29 = pcVar30 + (int)pcVar27;" (assignment_expression "pcVar29 = pcVar30 + (int)pcVar27" identifier = (binary_expression "pcVar30 + (int)pcVar27" identifier + (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0) {\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }" if (parenthesized_expression "((*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0)" ( (binary_expression "(*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1) != 0" (parenthesized_expression "(*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1)" ( (binary_expression "*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20) & 1" (pointer_expression "*(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20)" * (cast_expression "(ushort *)((unaff_s7->cur).buf + uVar11 * 2 + -0x20)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((unaff_s7->cur).buf + uVar11 * 2 + -0x20)" ( (binary_expression "(unaff_s7->cur).buf + uVar11 * 2 + -0x20" (binary_expression "(unaff_s7->cur).buf + uVar11 * 2" (field_expression "(unaff_s7->cur).buf" (parenthesized_expression "(unaff_s7->cur)" ( (field_expression "unaff_s7->cur" identifier -> field_identifier) )) . field_identifier) + (binary_expression "uVar11 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  pcVar32 = *(code **)(iVar7 + -0x7e70);\n                  *(uint *)(puVar34 + -0x1c4) = uVar11;\n                  *(uint *)(puVar34 + -0x1c8) = uVar16;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar16 = *(uint *)(puVar34 + -0x1c8);\n                  uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }" { (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7e70);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7e70)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7e70)" * (cast_expression "(code **)(iVar7 + -0x7e70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7e70)" ( (binary_expression "iVar7 + -0x7e70" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar34 + -0x1c4) = uVar11;" (assignment_expression "*(uint *)(puVar34 + -0x1c4) = uVar11" (pointer_expression "*(uint *)(puVar34 + -0x1c4)" * (cast_expression "(uint *)(puVar34 + -0x1c4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c4)" ( (binary_expression "puVar34 + -0x1c4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar34 + -0x1c8) = uVar16;" (assignment_expression "*(uint *)(puVar34 + -0x1c8) = uVar16" (pointer_expression "*(uint *)(puVar34 + -0x1c8)" * (cast_expression "(uint *)(puVar34 + -0x1c8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar10 = (int *)(*pcVar32)();" (assignment_expression "piVar10 = (int *)(*pcVar32)()" identifier = (cast_expression "(int *)(*pcVar32)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(uint *)(puVar34 + -0x1c8);" (assignment_expression "uVar16 = *(uint *)(puVar34 + -0x1c8)" identifier = (pointer_expression "*(uint *)(puVar34 + -0x1c8)" * (cast_expression "(uint *)(puVar34 + -0x1c8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);" (assignment_expression "uVar11 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4)" identifier = (pointer_expression "*(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4)" * (cast_expression "(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4)" ( (binary_expression "*piVar10 + *(int *)(puVar34 + -0x1c4) * 4" (pointer_expression "*piVar10" * identifier) + (binary_expression "*(int *)(puVar34 + -0x1c4) * 4" (pointer_expression "*(int *)(puVar34 + -0x1c4)" * (cast_expression "(int *)(puVar34 + -0x1c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c4)" ( (binary_expression "puVar34 + -0x1c4" identifier + number_literal) )))) * number_literal)) ))))) ;) })) (expression_statement "uVar16 = uVar16 & 0xff;" (assignment_expression "uVar16 = uVar16 & 0xff" identifier = (binary_expression "uVar16 & 0xff" identifier & number_literal)) ;) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7e70);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7e70)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7e70)" * (cast_expression "(code **)(iVar7 + -0x7e70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7e70)" ( (binary_expression "iVar7 + -0x7e70" identifier + number_literal) ))))) ;) (if_statement "if ((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0) {\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }" if (parenthesized_expression "((*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0)" ( (binary_expression "(*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1) != 0" (parenthesized_expression "(*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1)" ( (binary_expression "*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20) & 1" (pointer_expression "*(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20)" * (cast_expression "(ushort *)((unaff_s7->cur).buf + uVar16 * 2 + -0x20)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((unaff_s7->cur).buf + uVar16 * 2 + -0x20)" ( (binary_expression "(unaff_s7->cur).buf + uVar16 * 2 + -0x20" (binary_expression "(unaff_s7->cur).buf + uVar16 * 2" (field_expression "(unaff_s7->cur).buf" (parenthesized_expression "(unaff_s7->cur)" ( (field_expression "unaff_s7->cur" identifier -> field_identifier) )) . field_identifier) + (binary_expression "uVar16 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(uint *)(puVar34 + -0x1c4) = uVar16;\n                  *(uint *)(puVar34 + -0x1c8) = uVar11;\n                  piVar10 = (int *)(*pcVar32)();\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  uVar11 = *(uint *)(puVar34 + -0x1c8);\n                  uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);\n                }" { (expression_statement "*(uint *)(puVar34 + -0x1c4) = uVar16;" (assignment_expression "*(uint *)(puVar34 + -0x1c4) = uVar16" (pointer_expression "*(uint *)(puVar34 + -0x1c4)" * (cast_expression "(uint *)(puVar34 + -0x1c4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c4)" ( (binary_expression "puVar34 + -0x1c4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar34 + -0x1c8) = uVar11;" (assignment_expression "*(uint *)(puVar34 + -0x1c8) = uVar11" (pointer_expression "*(uint *)(puVar34 + -0x1c8)" * (cast_expression "(uint *)(puVar34 + -0x1c8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar10 = (int *)(*pcVar32)();" (assignment_expression "piVar10 = (int *)(*pcVar32)()" identifier = (cast_expression "(int *)(*pcVar32)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(uint *)(puVar34 + -0x1c8);" (assignment_expression "uVar11 = *(uint *)(puVar34 + -0x1c8)" identifier = (pointer_expression "*(uint *)(puVar34 + -0x1c8)" * (cast_expression "(uint *)(puVar34 + -0x1c8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4);" (assignment_expression "uVar16 = *(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4)" identifier = (pointer_expression "*(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4)" * (cast_expression "(uint *)(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar10 + *(int *)(puVar34 + -0x1c4) * 4)" ( (binary_expression "*piVar10 + *(int *)(puVar34 + -0x1c4) * 4" (pointer_expression "*piVar10" * identifier) + (binary_expression "*(int *)(puVar34 + -0x1c4) * 4" (pointer_expression "*(int *)(puVar34 + -0x1c4)" * (cast_expression "(int *)(puVar34 + -0x1c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c4)" ( (binary_expression "puVar34 + -0x1c4" identifier + number_literal) )))) * number_literal)) ))))) ;) })) (expression_statement "pcVar30 = pcVar30 + 1;" (assignment_expression "pcVar30 = pcVar30 + 1" identifier = (binary_expression "pcVar30 + 1" identifier + number_literal)) ;) (if_statement "if (uVar11 != uVar16) break;" if (parenthesized_expression "(uVar11 != uVar16)" ( (binary_expression "uVar11 != uVar16" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar16 = (uint)*pcVar30;" (assignment_expression "uVar16 = (uint)*pcVar30" identifier = (binary_expression "(uint)*pcVar30" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1;" (assignment_expression "unaff_s6 = (mbuiter_multi *)&unaff_s6->field_0x1" identifier = (cast_expression "(mbuiter_multi *)&unaff_s6->field_0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s6->field_0x1" & (field_expression "unaff_s6->field_0x1" identifier -> field_identifier)))) ;) (if_statement "if ((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))\n                goto LAB_000182f0;" if (parenthesized_expression "((uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0))" ( (binary_expression "(uVar16 == 0) || (uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0)" (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0)" ( (comma_expression "uVar11 = (uint)*(char *)unaff_s6, uVar11 == 0" (assignment_expression "uVar11 = (uint)*(char *)unaff_s6" identifier = (binary_expression "(uint)*(char *)unaff_s6" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)unaff_s6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) , (binary_expression "uVar11 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000182f0;" goto statement_identifier ;)) })) (goto_statement "goto LAB_000181cc;" goto statement_identifier ;) })) }))) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (expression_statement "pcVar29 = pcVar29 + 1;" (assignment_expression "pcVar29 = pcVar29 + 1" identifier = (binary_expression "pcVar29 + 1" identifier + number_literal)) ;) (expression_statement "pbVar26 = pbVar17;" (assignment_expression "pbVar26 = pbVar17" identifier = identifier) ;) }) while (parenthesized_expression "(*pbVar17 != 0)" ( (binary_expression "*pbVar17 != 0" (pointer_expression "*pbVar17" * identifier) != number_literal) )) ;)) })) })) }) (else_clause "else {\n    _Var2 = pmVar15->in_shift;\n    iVar8 = (int)_Var2;\n    iVar9 = *(int *)(iVar7 + -0x7ef4);\n    pmVar31 = (mbstate_t *)(puVar34 + -0x140);\n    *(mbuiter_multi **)(puVar34 + -0x134) = pmVar15;\n    *(undefined4 *)(puVar34 + -0x140) = 0;\n    *(undefined4 *)(puVar34 + -0x13c) = 0;\n    *(int *)(puVar34 + -0x1c8) = iVar9;\n    puVar34[-0x144] = 0;\n    uVar16 = *(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4);\n    puVar34[-0x138] = 0;\n    if ((uVar16 >> (_Var2 & 0x1f) & 1) == 0) {\n      iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar8 == 0) goto LAB_00019168;\n      pcVar32 = *(code **)(iVar7 + -0x7d40);\n      puVar34[-0x144] = 1;\n      sVar6 = (*pcVar32)();\n      unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8);\n      sVar6 = strnlen1(&unaff_s3->in_shift,sVar6);\n      pmVar19 = (mbuiter_multi *)(puVar34 + -0x128);\n      sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(size_t *)(puVar34 + -0x130) = sVar6;\n      if (sVar6 == 0xffffffff) {\n        puVar34[-300] = 0;\n        bVar3 = false;\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0xfffffffe) {\n        bVar3 = false;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x130) = uVar22;\n        puVar34[-300] = 0;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0x128);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-300] = 1;\n      iVar9 = (*pcVar32)(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar9 != 0) {\n        puVar34[-0x144] = 0;\n      }\n      puVar34[-0x138] = 1;\n    }\n    else {\n      *(int *)(puVar34 + -0x128) = iVar8;\n      *(undefined4 *)(puVar34 + -0x130) = 1;\n      puVar34[-300] = 1;\n      puVar34[-0x138] = 1;\n    }\n    if (iVar8 != 0) {\n      bVar3 = true;\nLAB_00018454:\n      unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);\n      puVar20 = *(undefined1 **)(puVar34 + -0x134);\n      uVar22 = *(undefined4 *)(puVar34 + -0x130);\n      *(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8);\n      *(undefined4 *)(puVar34 + -0x108) = 0;\n      puVar34[-0x10c] = 0;\n      *(undefined4 *)(puVar34 + -0x104) = 0;\n      puVar34[-0x100] = 0;\n      if (puVar20 == puVar34 + -0x124) {\n        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x194) = uVar21;\n      }\n      else {\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }\n      *(undefined4 *)(puVar34 + -400) = uVar22;\n      puVar34[-0x18c] = bVar3;\n      if (bVar3) {\n        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x188) = uVar22;\n      }\n      puVar34[-0xd4] = 0;\n      unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0);\n      *(undefined4 *)(puVar34 + -0xd0) = 0;\n      *(undefined4 *)(puVar34 + -0x1b4) = 1;\n      unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8);\n      iVar8 = *(int *)(iVar7 + -0x7fcc);\n      pwc = (mbuiter_multi *)(puVar34 + -0x80);\n      *(undefined4 *)(puVar34 + -0xcc) = 0;\n      *(undefined4 *)(puVar34 + -0x1ac) = 0;\n      *(byte **)(puVar34 + -0xc4) = pbVar17;\n      *(undefined4 *)(puVar34 + -0x1bc) = 0;\n      *(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8;\n      *(undefined4 *)(puVar34 + -0x1c0) = 0;\n      puVar34[-200] = 0;\n      pbVar26 = pbVar17;\n      if (puVar34[-0xd4] != '\0') goto LAB_000188e0;\n      goto LAB_000184f0;\n    }\n  }" else (compound_statement "{\n    _Var2 = pmVar15->in_shift;\n    iVar8 = (int)_Var2;\n    iVar9 = *(int *)(iVar7 + -0x7ef4);\n    pmVar31 = (mbstate_t *)(puVar34 + -0x140);\n    *(mbuiter_multi **)(puVar34 + -0x134) = pmVar15;\n    *(undefined4 *)(puVar34 + -0x140) = 0;\n    *(undefined4 *)(puVar34 + -0x13c) = 0;\n    *(int *)(puVar34 + -0x1c8) = iVar9;\n    puVar34[-0x144] = 0;\n    uVar16 = *(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4);\n    puVar34[-0x138] = 0;\n    if ((uVar16 >> (_Var2 & 0x1f) & 1) == 0) {\n      iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar8 == 0) goto LAB_00019168;\n      pcVar32 = *(code **)(iVar7 + -0x7d40);\n      puVar34[-0x144] = 1;\n      sVar6 = (*pcVar32)();\n      unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8);\n      sVar6 = strnlen1(&unaff_s3->in_shift,sVar6);\n      pmVar19 = (mbuiter_multi *)(puVar34 + -0x128);\n      sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(size_t *)(puVar34 + -0x130) = sVar6;\n      if (sVar6 == 0xffffffff) {\n        puVar34[-300] = 0;\n        bVar3 = false;\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0xfffffffe) {\n        bVar3 = false;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x130) = uVar22;\n        puVar34[-300] = 0;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0x128);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-300] = 1;\n      iVar9 = (*pcVar32)(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar9 != 0) {\n        puVar34[-0x144] = 0;\n      }\n      puVar34[-0x138] = 1;\n    }\n    else {\n      *(int *)(puVar34 + -0x128) = iVar8;\n      *(undefined4 *)(puVar34 + -0x130) = 1;\n      puVar34[-300] = 1;\n      puVar34[-0x138] = 1;\n    }\n    if (iVar8 != 0) {\n      bVar3 = true;\nLAB_00018454:\n      unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);\n      puVar20 = *(undefined1 **)(puVar34 + -0x134);\n      uVar22 = *(undefined4 *)(puVar34 + -0x130);\n      *(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8);\n      *(undefined4 *)(puVar34 + -0x108) = 0;\n      puVar34[-0x10c] = 0;\n      *(undefined4 *)(puVar34 + -0x104) = 0;\n      puVar34[-0x100] = 0;\n      if (puVar20 == puVar34 + -0x124) {\n        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x194) = uVar21;\n      }\n      else {\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }\n      *(undefined4 *)(puVar34 + -400) = uVar22;\n      puVar34[-0x18c] = bVar3;\n      if (bVar3) {\n        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x188) = uVar22;\n      }\n      puVar34[-0xd4] = 0;\n      unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0);\n      *(undefined4 *)(puVar34 + -0xd0) = 0;\n      *(undefined4 *)(puVar34 + -0x1b4) = 1;\n      unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8);\n      iVar8 = *(int *)(iVar7 + -0x7fcc);\n      pwc = (mbuiter_multi *)(puVar34 + -0x80);\n      *(undefined4 *)(puVar34 + -0xcc) = 0;\n      *(undefined4 *)(puVar34 + -0x1ac) = 0;\n      *(byte **)(puVar34 + -0xc4) = pbVar17;\n      *(undefined4 *)(puVar34 + -0x1bc) = 0;\n      *(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8;\n      *(undefined4 *)(puVar34 + -0x1c0) = 0;\n      puVar34[-200] = 0;\n      pbVar26 = pbVar17;\n      if (puVar34[-0xd4] != '\0') goto LAB_000188e0;\n      goto LAB_000184f0;\n    }\n  }" { (expression_statement "_Var2 = pmVar15->in_shift;" (assignment_expression "_Var2 = pmVar15->in_shift" identifier = (field_expression "pmVar15->in_shift" identifier -> field_identifier)) ;) (expression_statement "iVar8 = (int)_Var2;" (assignment_expression "iVar8 = (int)_Var2" identifier = (cast_expression "(int)_Var2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar9 = *(int *)(iVar7 + -0x7ef4);" (assignment_expression "iVar9 = *(int *)(iVar7 + -0x7ef4)" identifier = (pointer_expression "*(int *)(iVar7 + -0x7ef4)" * (cast_expression "(int *)(iVar7 + -0x7ef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7ef4)" ( (binary_expression "iVar7 + -0x7ef4" identifier + number_literal) ))))) ;) (expression_statement "pmVar31 = (mbstate_t *)(puVar34 + -0x140);" (assignment_expression "pmVar31 = (mbstate_t *)(puVar34 + -0x140)" identifier = (cast_expression "(mbstate_t *)(puVar34 + -0x140)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x140)" ( (binary_expression "puVar34 + -0x140" identifier + number_literal) )))) ;) (expression_statement "*(mbuiter_multi **)(puVar34 + -0x134) = pmVar15;" (assignment_expression "*(mbuiter_multi **)(puVar34 + -0x134) = pmVar15" (pointer_expression "*(mbuiter_multi **)(puVar34 + -0x134)" * (cast_expression "(mbuiter_multi **)(puVar34 + -0x134)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x134)" ( (binary_expression "puVar34 + -0x134" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x140) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x140) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x140)" * (cast_expression "(undefined4 *)(puVar34 + -0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x140)" ( (binary_expression "puVar34 + -0x140" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x13c) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x13c) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x13c)" * (cast_expression "(undefined4 *)(puVar34 + -0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x13c)" ( (binary_expression "puVar34 + -0x13c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar34 + -0x1c8) = iVar9;" (assignment_expression "*(int *)(puVar34 + -0x1c8) = iVar9" (pointer_expression "*(int *)(puVar34 + -0x1c8)" * (cast_expression "(int *)(puVar34 + -0x1c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-0x144] = 0;" (assignment_expression "puVar34[-0x144] = 0" (subscript_expression "puVar34[-0x144]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar16 = *(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4);" (assignment_expression "uVar16 = *(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4)" identifier = (pointer_expression "*(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4)" * (cast_expression "(uint *)(iVar9 + (uint)(byte)(_Var2 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (uint)(byte)(_Var2 >> 5) * 4)" ( (binary_expression "iVar9 + (uint)(byte)(_Var2 >> 5) * 4" identifier + (binary_expression "(uint)(byte)(_Var2 >> 5) * 4" (call_expression "(uint)(byte)(_Var2 >> 5)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(_Var2 >> 5)" ( (binary_expression "_Var2 >> 5" identifier >> number_literal) ))) * number_literal)) ))))) ;) (expression_statement "puVar34[-0x138] = 0;" (assignment_expression "puVar34[-0x138] = 0" (subscript_expression "puVar34[-0x138]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((uVar16 >> (_Var2 & 0x1f) & 1) == 0) {\n      iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar8 == 0) goto LAB_00019168;\n      pcVar32 = *(code **)(iVar7 + -0x7d40);\n      puVar34[-0x144] = 1;\n      sVar6 = (*pcVar32)();\n      unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8);\n      sVar6 = strnlen1(&unaff_s3->in_shift,sVar6);\n      pmVar19 = (mbuiter_multi *)(puVar34 + -0x128);\n      sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(size_t *)(puVar34 + -0x130) = sVar6;\n      if (sVar6 == 0xffffffff) {\n        puVar34[-300] = 0;\n        bVar3 = false;\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0xfffffffe) {\n        bVar3 = false;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x130) = uVar22;\n        puVar34[-300] = 0;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0x128);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-300] = 1;\n      iVar9 = (*pcVar32)(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar9 != 0) {\n        puVar34[-0x144] = 0;\n      }\n      puVar34[-0x138] = 1;\n    }\n    else {\n      *(int *)(puVar34 + -0x128) = iVar8;\n      *(undefined4 *)(puVar34 + -0x130) = 1;\n      puVar34[-300] = 1;\n      puVar34[-0x138] = 1;\n    }" if (parenthesized_expression "((uVar16 >> (_Var2 & 0x1f) & 1) == 0)" ( (binary_expression "(uVar16 >> (_Var2 & 0x1f) & 1) == 0" (parenthesized_expression "(uVar16 >> (_Var2 & 0x1f) & 1)" ( (binary_expression "uVar16 >> (_Var2 & 0x1f) & 1" (binary_expression "uVar16 >> (_Var2 & 0x1f)" identifier >> (parenthesized_expression "(_Var2 & 0x1f)" ( (binary_expression "_Var2 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar8 == 0) goto LAB_00019168;\n      pcVar32 = *(code **)(iVar7 + -0x7d40);\n      puVar34[-0x144] = 1;\n      sVar6 = (*pcVar32)();\n      unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8);\n      sVar6 = strnlen1(&unaff_s3->in_shift,sVar6);\n      pmVar19 = (mbuiter_multi *)(puVar34 + -0x128);\n      sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      *(size_t *)(puVar34 + -0x130) = sVar6;\n      if (sVar6 == 0xffffffff) {\n        puVar34[-300] = 0;\n        bVar3 = false;\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0xfffffffe) {\n        bVar3 = false;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x130) = uVar22;\n        puVar34[-300] = 0;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0x128);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-300] = 1;\n      iVar9 = (*pcVar32)(pmVar31);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar9 != 0) {\n        puVar34[-0x144] = 0;\n      }\n      puVar34[-0x138] = 1;\n    }" { (expression_statement "iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);" (assignment_expression "iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31)" identifier = (call_expression "(**(code **)(iVar7 + -0x7cf4))(pmVar31)" (parenthesized_expression "(**(code **)(iVar7 + -0x7cf4))" ( (pointer_expression "**(code **)(iVar7 + -0x7cf4)" * (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) )) (argument_list "(pmVar31)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) goto LAB_00019168;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019168;" goto statement_identifier ;)) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7d40);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7d40)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7d40)" * (cast_expression "(code **)(iVar7 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d40)" ( (binary_expression "iVar7 + -0x7d40" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-0x144] = 1;" (assignment_expression "puVar34[-0x144] = 1" (subscript_expression "puVar34[-0x144]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar6 = (*pcVar32)();" (assignment_expression "sVar6 = (*pcVar32)()" identifier = (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8);" (assignment_expression "unaff_s3 = *(mbuiter_multi **)(puVar34 + -0x1b8)" identifier = (pointer_expression "*(mbuiter_multi **)(puVar34 + -0x1b8)" * (cast_expression "(mbuiter_multi **)(puVar34 + -0x1b8)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) ))))) ;) (expression_statement "sVar6 = strnlen1(&unaff_s3->in_shift,sVar6);" (assignment_expression "sVar6 = strnlen1(&unaff_s3->in_shift,sVar6)" identifier = (call_expression "strnlen1(&unaff_s3->in_shift,sVar6)" identifier (argument_list "(&unaff_s3->in_shift,sVar6)" ( (pointer_expression "&unaff_s3->in_shift" & (field_expression "unaff_s3->in_shift" identifier -> field_identifier)) , identifier )))) ;) (expression_statement "pmVar19 = (mbuiter_multi *)(puVar34 + -0x128);" (assignment_expression "pmVar19 = (mbuiter_multi *)(puVar34 + -0x128)" identifier = (cast_expression "(mbuiter_multi *)(puVar34 + -0x128)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x128)" ( (binary_expression "puVar34 + -0x128" identifier + number_literal) )))) ;) (expression_statement "sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31);" (assignment_expression "sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31)" identifier = (call_expression "rpl_mbrtowc((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31)" identifier (argument_list "((wchar_t *)pmVar19,&unaff_s3->in_shift,sVar6,pmVar31)" ( (cast_expression "(wchar_t *)pmVar19" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&unaff_s3->in_shift" & (field_expression "unaff_s3->in_shift" identifier -> field_identifier)) , identifier , identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(size_t *)(puVar34 + -0x130) = sVar6;" (assignment_expression "*(size_t *)(puVar34 + -0x130) = sVar6" (pointer_expression "*(size_t *)(puVar34 + -0x130)" * (cast_expression "(size_t *)(puVar34 + -0x130)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x130)" ( (binary_expression "puVar34 + -0x130" identifier + number_literal) )))) = identifier) ;) (if_statement "if (sVar6 == 0xffffffff) {\n        puVar34[-300] = 0;\n        bVar3 = false;\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }" if (parenthesized_expression "(sVar6 == 0xffffffff)" ( (binary_expression "sVar6 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        puVar34[-300] = 0;\n        bVar3 = false;\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }" { (expression_statement "puVar34[-300] = 0;" (assignment_expression "puVar34[-300] = 0" (subscript_expression "puVar34[-300]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x130) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x130) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x130)" * (cast_expression "(undefined4 *)(puVar34 + -0x130)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x130)" ( (binary_expression "puVar34 + -0x130" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar34[-0x138] = 1;" (assignment_expression "puVar34[-0x138] = 1" (subscript_expression "puVar34[-0x138]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00018454;" goto statement_identifier ;) })) (if_statement "if (sVar6 == 0xfffffffe) {\n        bVar3 = false;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x130) = uVar22;\n        puVar34[-300] = 0;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }" if (parenthesized_expression "(sVar6 == 0xfffffffe)" ( (binary_expression "sVar6 == 0xfffffffe" identifier == number_literal) )) (compound_statement "{\n        bVar3 = false;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x130) = uVar22;\n        puVar34[-300] = 0;\n        puVar34[-0x138] = 1;\n        goto LAB_00018454;\n      }" { (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134));" (assignment_expression "uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134))" identifier = (call_expression "(**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x134))" (parenthesized_expression "(**(code **)(iVar7 + -0x7d94))" ( (pointer_expression "**(code **)(iVar7 + -0x7d94)" * (pointer_expression "*(code **)(iVar7 + -0x7d94)" * (cast_expression "(code **)(iVar7 + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d94)" ( (binary_expression "iVar7 + -0x7d94" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0x134))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0x134)" * (cast_expression "(undefined4 *)(puVar34 + -0x134)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x134)" ( (binary_expression "puVar34 + -0x134" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x130) = uVar22;" (assignment_expression "*(undefined4 *)(puVar34 + -0x130) = uVar22" (pointer_expression "*(undefined4 *)(puVar34 + -0x130)" * (cast_expression "(undefined4 *)(puVar34 + -0x130)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x130)" ( (binary_expression "puVar34 + -0x130" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-300] = 0;" (assignment_expression "puVar34[-300] = 0" (subscript_expression "puVar34[-300]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-0x138] = 1;" (assignment_expression "puVar34[-0x138] = 1" (subscript_expression "puVar34[-0x138]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00018454;" goto statement_identifier ;) })) (if_statement "if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0x128);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }" if (parenthesized_expression "(sVar6 == 0)" ( (binary_expression "sVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar34 + -0x130) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0x128);\n        pmVar15 = (mbuiter_multi *)auStack_158;\n        if (iVar8 != 0) goto LAB_0001913c;\n      }" { (expression_statement "*(undefined4 *)(puVar34 + -0x130) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x130) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x130)" * (cast_expression "(undefined4 *)(puVar34 + -0x130)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x130)" ( (binary_expression "puVar34 + -0x130" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = *(int *)(iVar7 + -0x7fb0);" (assignment_expression "iVar8 = *(int *)(iVar7 + -0x7fb0)" identifier = (pointer_expression "*(int *)(iVar7 + -0x7fb0)" * (cast_expression "(int *)(iVar7 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fb0)" ( (binary_expression "iVar7 + -0x7fb0" identifier + number_literal) ))))) ;) (expression_statement "pmVar15 = (mbuiter_multi *)auStack_158;" (assignment_expression "pmVar15 = (mbuiter_multi *)auStack_158" identifier = (cast_expression "(mbuiter_multi *)auStack_158" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (**(char **)(puVar34 + -0x134) != '\0') goto LAB_00019190;" if (parenthesized_expression "(**(char **)(puVar34 + -0x134) != '\0')" ( (binary_expression "**(char **)(puVar34 + -0x134) != '\0'" (pointer_expression "**(char **)(puVar34 + -0x134)" * (pointer_expression "*(char **)(puVar34 + -0x134)" * (cast_expression "(char **)(puVar34 + -0x134)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x134)" ( (binary_expression "puVar34 + -0x134" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00019190;" goto statement_identifier ;)) (expression_statement "iVar8 = *(int *)(puVar34 + -0x128);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x128)" identifier = (pointer_expression "*(int *)(puVar34 + -0x128)" * (cast_expression "(int *)(puVar34 + -0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x128)" ( (binary_expression "puVar34 + -0x128" identifier + number_literal) ))))) ;) (expression_statement "pmVar15 = (mbuiter_multi *)auStack_158;" (assignment_expression "pmVar15 = (mbuiter_multi *)auStack_158" identifier = (cast_expression "(mbuiter_multi *)auStack_158" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar8 != 0) goto LAB_0001913c;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001913c;" goto statement_identifier ;)) }) (else_clause "else {\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }" else (compound_statement "{\n        iVar8 = *(int *)(puVar34 + -0x128);\n      }" { (expression_statement "iVar8 = *(int *)(puVar34 + -0x128);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x128)" identifier = (pointer_expression "*(int *)(puVar34 + -0x128)" * (cast_expression "(int *)(puVar34 + -0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x128)" ( (binary_expression "puVar34 + -0x128" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7cf4);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7cf4)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-300] = 1;" (assignment_expression "puVar34[-300] = 1" (subscript_expression "puVar34[-300]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar9 = (*pcVar32)(pmVar31);" (assignment_expression "iVar9 = (*pcVar32)(pmVar31)" identifier = (call_expression "(*pcVar32)(pmVar31)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(pmVar31)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 != 0) {\n        puVar34[-0x144] = 0;\n      }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n        puVar34[-0x144] = 0;\n      }" { (expression_statement "puVar34[-0x144] = 0;" (assignment_expression "puVar34[-0x144] = 0" (subscript_expression "puVar34[-0x144]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar34[-0x138] = 1;" (assignment_expression "puVar34[-0x138] = 1" (subscript_expression "puVar34[-0x138]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      *(int *)(puVar34 + -0x128) = iVar8;\n      *(undefined4 *)(puVar34 + -0x130) = 1;\n      puVar34[-300] = 1;\n      puVar34[-0x138] = 1;\n    }" else (compound_statement "{\n      *(int *)(puVar34 + -0x128) = iVar8;\n      *(undefined4 *)(puVar34 + -0x130) = 1;\n      puVar34[-300] = 1;\n      puVar34[-0x138] = 1;\n    }" { (expression_statement "*(int *)(puVar34 + -0x128) = iVar8;" (assignment_expression "*(int *)(puVar34 + -0x128) = iVar8" (pointer_expression "*(int *)(puVar34 + -0x128)" * (cast_expression "(int *)(puVar34 + -0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x128)" ( (binary_expression "puVar34 + -0x128" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x130) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x130) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x130)" * (cast_expression "(undefined4 *)(puVar34 + -0x130)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x130)" ( (binary_expression "puVar34 + -0x130" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar34[-300] = 1;" (assignment_expression "puVar34[-300] = 1" (subscript_expression "puVar34[-300]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-0x138] = 1;" (assignment_expression "puVar34[-0x138] = 1" (subscript_expression "puVar34[-0x138]" identifier [ number_literal ]) = number_literal) ;) }))) (if_statement "if (iVar8 != 0) {\n      bVar3 = true;\nLAB_00018454:\n      unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);\n      puVar20 = *(undefined1 **)(puVar34 + -0x134);\n      uVar22 = *(undefined4 *)(puVar34 + -0x130);\n      *(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8);\n      *(undefined4 *)(puVar34 + -0x108) = 0;\n      puVar34[-0x10c] = 0;\n      *(undefined4 *)(puVar34 + -0x104) = 0;\n      puVar34[-0x100] = 0;\n      if (puVar20 == puVar34 + -0x124) {\n        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x194) = uVar21;\n      }\n      else {\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }\n      *(undefined4 *)(puVar34 + -400) = uVar22;\n      puVar34[-0x18c] = bVar3;\n      if (bVar3) {\n        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x188) = uVar22;\n      }\n      puVar34[-0xd4] = 0;\n      unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0);\n      *(undefined4 *)(puVar34 + -0xd0) = 0;\n      *(undefined4 *)(puVar34 + -0x1b4) = 1;\n      unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8);\n      iVar8 = *(int *)(iVar7 + -0x7fcc);\n      pwc = (mbuiter_multi *)(puVar34 + -0x80);\n      *(undefined4 *)(puVar34 + -0xcc) = 0;\n      *(undefined4 *)(puVar34 + -0x1ac) = 0;\n      *(byte **)(puVar34 + -0xc4) = pbVar17;\n      *(undefined4 *)(puVar34 + -0x1bc) = 0;\n      *(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8;\n      *(undefined4 *)(puVar34 + -0x1c0) = 0;\n      puVar34[-200] = 0;\n      pbVar26 = pbVar17;\n      if (puVar34[-0xd4] != '\0') goto LAB_000188e0;\n      goto LAB_000184f0;\n    }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar3 = true;\nLAB_00018454:\n      unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);\n      puVar20 = *(undefined1 **)(puVar34 + -0x134);\n      uVar22 = *(undefined4 *)(puVar34 + -0x130);\n      *(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8);\n      *(undefined4 *)(puVar34 + -0x108) = 0;\n      puVar34[-0x10c] = 0;\n      *(undefined4 *)(puVar34 + -0x104) = 0;\n      puVar34[-0x100] = 0;\n      if (puVar20 == puVar34 + -0x124) {\n        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x194) = uVar21;\n      }\n      else {\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }\n      *(undefined4 *)(puVar34 + -400) = uVar22;\n      puVar34[-0x18c] = bVar3;\n      if (bVar3) {\n        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x188) = uVar22;\n      }\n      puVar34[-0xd4] = 0;\n      unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0);\n      *(undefined4 *)(puVar34 + -0xd0) = 0;\n      *(undefined4 *)(puVar34 + -0x1b4) = 1;\n      unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8);\n      iVar8 = *(int *)(iVar7 + -0x7fcc);\n      pwc = (mbuiter_multi *)(puVar34 + -0x80);\n      *(undefined4 *)(puVar34 + -0xcc) = 0;\n      *(undefined4 *)(puVar34 + -0x1ac) = 0;\n      *(byte **)(puVar34 + -0xc4) = pbVar17;\n      *(undefined4 *)(puVar34 + -0x1bc) = 0;\n      *(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8;\n      *(undefined4 *)(puVar34 + -0x1c0) = 0;\n      puVar34[-200] = 0;\n      pbVar26 = pbVar17;\n      if (puVar34[-0xd4] != '\0') goto LAB_000188e0;\n      goto LAB_000184f0;\n    }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (labeled_statement "LAB_00018454:\n      unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);" statement_identifier : (expression_statement "unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108);" (assignment_expression "unaff_s3 = (mbuiter_multi *)(puVar34 + -0x108)" identifier = (cast_expression "(mbuiter_multi *)(puVar34 + -0x108)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x108)" ( (binary_expression "puVar34 + -0x108" identifier + number_literal) )))) ;)) (expression_statement "puVar20 = *(undefined1 **)(puVar34 + -0x134);" (assignment_expression "puVar20 = *(undefined1 **)(puVar34 + -0x134)" identifier = (pointer_expression "*(undefined1 **)(puVar34 + -0x134)" * (cast_expression "(undefined1 **)(puVar34 + -0x134)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x134)" ( (binary_expression "puVar34 + -0x134" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = *(undefined4 *)(puVar34 + -0x130);" (assignment_expression "uVar22 = *(undefined4 *)(puVar34 + -0x130)" identifier = (pointer_expression "*(undefined4 *)(puVar34 + -0x130)" * (cast_expression "(undefined4 *)(puVar34 + -0x130)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x130)" ( (binary_expression "puVar34 + -0x130" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8);" (assignment_expression "*(undefined4 *)(puVar34 + -0xfc) = *(undefined4 *)(puVar34 + -0x1b8)" (pointer_expression "*(undefined4 *)(puVar34 + -0xfc)" * (cast_expression "(undefined4 *)(puVar34 + -0xfc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xfc)" ( (binary_expression "puVar34 + -0xfc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar34 + -0x1b8)" * (cast_expression "(undefined4 *)(puVar34 + -0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x108) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x108) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x108)" * (cast_expression "(undefined4 *)(puVar34 + -0x108)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x108)" ( (binary_expression "puVar34 + -0x108" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar34[-0x10c] = 0;" (assignment_expression "puVar34[-0x10c] = 0" (subscript_expression "puVar34[-0x10c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x104) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x104) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x104)" * (cast_expression "(undefined4 *)(puVar34 + -0x104)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x104)" ( (binary_expression "puVar34 + -0x104" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar34[-0x100] = 0;" (assignment_expression "puVar34[-0x100] = 0" (subscript_expression "puVar34[-0x100]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (puVar20 == puVar34 + -0x124) {\n        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x194) = uVar21;\n      }\n      else {\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }" if (parenthesized_expression "(puVar20 == puVar34 + -0x124)" ( (binary_expression "puVar20 == puVar34 + -0x124" identifier == (binary_expression "puVar34 + -0x124" identifier + number_literal)) )) (compound_statement "{\n        uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x194) = uVar21;\n      }" { (expression_statement "uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18);" (assignment_expression "uVar21 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18)" identifier = (call_expression "(**(code **)(iVar7 + -0x7d74))(puVar34 + -0x184,puVar20,uVar22,0x18)" (parenthesized_expression "(**(code **)(iVar7 + -0x7d74))" ( (pointer_expression "**(code **)(iVar7 + -0x7d74)" * (pointer_expression "*(code **)(iVar7 + -0x7d74)" * (cast_expression "(code **)(iVar7 + -0x7d74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d74)" ( (binary_expression "iVar7 + -0x7d74" identifier + number_literal) ))))) )) (argument_list "(puVar34 + -0x184,puVar20,uVar22,0x18)" ( (binary_expression "puVar34 + -0x184" identifier + number_literal) , identifier , identifier , number_literal )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x194) = uVar21;" (assignment_expression "*(undefined4 *)(puVar34 + -0x194) = uVar21" (pointer_expression "*(undefined4 *)(puVar34 + -0x194)" * (cast_expression "(undefined4 *)(puVar34 + -0x194)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x194)" ( (binary_expression "puVar34 + -0x194" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }" else (compound_statement "{\n        *(undefined1 **)(puVar34 + -0x194) = puVar20;\n      }" { (expression_statement "*(undefined1 **)(puVar34 + -0x194) = puVar20;" (assignment_expression "*(undefined1 **)(puVar34 + -0x194) = puVar20" (pointer_expression "*(undefined1 **)(puVar34 + -0x194)" * (cast_expression "(undefined1 **)(puVar34 + -0x194)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x194)" ( (binary_expression "puVar34 + -0x194" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "*(undefined4 *)(puVar34 + -400) = uVar22;" (assignment_expression "*(undefined4 *)(puVar34 + -400) = uVar22" (pointer_expression "*(undefined4 *)(puVar34 + -400)" * (cast_expression "(undefined4 *)(puVar34 + -400)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -400)" ( (binary_expression "puVar34 + -400" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-0x18c] = bVar3;" (assignment_expression "puVar34[-0x18c] = bVar3" (subscript_expression "puVar34[-0x18c]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (bVar3) {\n        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x188) = uVar22;\n      }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n        uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0x188) = uVar22;\n      }" { (expression_statement "uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128));" (assignment_expression "uVar22 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128))" identifier = (call_expression "(**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0x128))" (parenthesized_expression "(**(code **)(iVar7 + -0x7cfc))" ( (pointer_expression "**(code **)(iVar7 + -0x7cfc)" * (pointer_expression "*(code **)(iVar7 + -0x7cfc)" * (cast_expression "(code **)(iVar7 + -0x7cfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cfc)" ( (binary_expression "iVar7 + -0x7cfc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0x128))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0x128)" * (cast_expression "(undefined4 *)(puVar34 + -0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x128)" ( (binary_expression "puVar34 + -0x128" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x188) = uVar22;" (assignment_expression "*(undefined4 *)(puVar34 + -0x188) = uVar22" (pointer_expression "*(undefined4 *)(puVar34 + -0x188)" * (cast_expression "(undefined4 *)(puVar34 + -0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x188)" ( (binary_expression "puVar34 + -0x188" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "puVar34[-0xd4] = 0;" (assignment_expression "puVar34[-0xd4] = 0" (subscript_expression "puVar34[-0xd4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0);" (assignment_expression "unaff_s6 = (mbuiter_multi *)(puVar34 + -0xd0)" identifier = (cast_expression "(mbuiter_multi *)(puVar34 + -0xd0)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xd0)" ( (binary_expression "puVar34 + -0xd0" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0xd0) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0xd0) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0xd0)" * (cast_expression "(undefined4 *)(puVar34 + -0xd0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xd0)" ( (binary_expression "puVar34 + -0xd0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x1b4) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x1b4) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x1b4)" * (cast_expression "(undefined4 *)(puVar34 + -0x1b4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b4)" ( (binary_expression "puVar34 + -0x1b4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8);" (assignment_expression "unaff_s7 = (mbuiter_multi *)(puVar34 + -0xb8)" identifier = (cast_expression "(mbuiter_multi *)(puVar34 + -0xb8)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xb8)" ( (binary_expression "puVar34 + -0xb8" identifier + number_literal) )))) ;) (expression_statement "iVar8 = *(int *)(iVar7 + -0x7fcc);" (assignment_expression "iVar8 = *(int *)(iVar7 + -0x7fcc)" identifier = (pointer_expression "*(int *)(iVar7 + -0x7fcc)" * (cast_expression "(int *)(iVar7 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fcc)" ( (binary_expression "iVar7 + -0x7fcc" identifier + number_literal) ))))) ;) (expression_statement "pwc = (mbuiter_multi *)(puVar34 + -0x80);" (assignment_expression "pwc = (mbuiter_multi *)(puVar34 + -0x80)" identifier = (cast_expression "(mbuiter_multi *)(puVar34 + -0x80)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x80)" ( (binary_expression "puVar34 + -0x80" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0xcc) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0xcc) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0xcc)" * (cast_expression "(undefined4 *)(puVar34 + -0xcc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xcc)" ( (binary_expression "puVar34 + -0xcc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x1ac) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x1ac) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x1ac)" * (cast_expression "(undefined4 *)(puVar34 + -0x1ac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1ac)" ( (binary_expression "puVar34 + -0x1ac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)(puVar34 + -0xc4) = pbVar17;" (assignment_expression "*(byte **)(puVar34 + -0xc4) = pbVar17" (pointer_expression "*(byte **)(puVar34 + -0xc4)" * (cast_expression "(byte **)(puVar34 + -0xc4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xc4)" ( (binary_expression "puVar34 + -0xc4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x1bc) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x1bc) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x1bc)" * (cast_expression "(undefined4 *)(puVar34 + -0x1bc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8;" (assignment_expression "*(undefined1 **)(puVar34 + -0x1a8) = &DAT_0000757c + iVar8" (pointer_expression "*(undefined1 **)(puVar34 + -0x1a8)" * (cast_expression "(undefined1 **)(puVar34 + -0x1a8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1a8)" ( (binary_expression "puVar34 + -0x1a8" identifier + number_literal) )))) = (binary_expression "&DAT_0000757c + iVar8" (pointer_expression "&DAT_0000757c" & identifier) + identifier)) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x1c0) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x1c0) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x1c0)" * (cast_expression "(undefined4 *)(puVar34 + -0x1c0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar34[-200] = 0;" (assignment_expression "puVar34[-200] = 0" (subscript_expression "puVar34[-200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar26 = pbVar17;" (assignment_expression "pbVar26 = pbVar17" identifier = identifier) ;) (if_statement "if (puVar34[-0xd4] != '\0') goto LAB_000188e0;" if (parenthesized_expression "(puVar34[-0xd4] != '\0')" ( (binary_expression "puVar34[-0xd4] != '\0'" (subscript_expression "puVar34[-0xd4]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000188e0;" goto statement_identifier ;)) (goto_statement "goto LAB_000184f0;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000182f0:\n  if (*(int *)(puVar34 + -0x2c) == **(int **)(puVar34 + -0x1b0)) {\n    return;\n  }" statement_identifier : (if_statement "if (*(int *)(puVar34 + -0x2c) == **(int **)(puVar34 + -0x1b0)) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(puVar34 + -0x2c) == **(int **)(puVar34 + -0x1b0))" ( (binary_expression "*(int *)(puVar34 + -0x2c) == **(int **)(puVar34 + -0x1b0)" (pointer_expression "*(int *)(puVar34 + -0x2c)" * (cast_expression "(int *)(puVar34 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x2c)" ( (binary_expression "puVar34 + -0x2c" identifier + number_literal) )))) == (pointer_expression "**(int **)(puVar34 + -0x1b0)" * (pointer_expression "*(int **)(puVar34 + -0x1b0)" * (cast_expression "(int **)(puVar34 + -0x1b0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1b0)" ( (binary_expression "puVar34 + -0x1b0" identifier + number_literal) )))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (labeled_statement "LAB_000191b0:\n  (**(code **)(iVar7 + -0x7d18))();" statement_identifier : (expression_statement "(**(code **)(iVar7 + -0x7d18))();" (call_expression "(**(code **)(iVar7 + -0x7d18))()" (parenthesized_expression "(**(code **)(iVar7 + -0x7d18))" ( (pointer_expression "**(code **)(iVar7 + -0x7d18)" * (pointer_expression "*(code **)(iVar7 + -0x7d18)" * (cast_expression "(code **)(iVar7 + -0x7d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d18)" ( (binary_expression "iVar7 + -0x7d18" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_000191bc:\n  iVar8 = *(int *)(puVar34 + -0xf0);" statement_identifier : (expression_statement "iVar8 = *(int *)(puVar34 + -0xf0);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0xf0)" identifier = (pointer_expression "*(int *)(puVar34 + -0xf0)" * (cast_expression "(int *)(puVar34 + -0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf0)" ( (binary_expression "puVar34 + -0xf0" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00018e94:\n  *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);" statement_identifier : (expression_statement "*(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);" (assignment_expression "*(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc)" (pointer_expression "*(undefined4 *)(puVar34 + -0x1ac)" * (cast_expression "(undefined4 *)(puVar34 + -0x1ac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1ac)" ( (binary_expression "puVar34 + -0x1ac" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar34 + -0x1bc)" * (cast_expression "(undefined4 *)(puVar34 + -0x1bc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) ))))) ;)) (if_statement "if (iVar8 != 0) goto LAB_0001856c;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001856c;" goto statement_identifier ;)) (expression_statement "uVar22 = *(undefined4 *)(puVar34 + -0x1b8);" (assignment_expression "uVar22 = *(undefined4 *)(puVar34 + -0x1b8)" identifier = (pointer_expression "*(undefined4 *)(puVar34 + -0x1b8)" * (cast_expression "(undefined4 *)(puVar34 + -0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n    iVar8 = (**(code **)(puVar34 + -0x1a8))(pbVar17,uVar22,puVar34 + -0x198);\n    iVar7 = *(int *)(puVar34 + -0x1d0);\n    *(int *)(puVar34 + -0x1b4) = iVar8;\n    if (iVar8 != 0) break;\n    *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\nLAB_0001856c:\n    do {\n      iVar8 = *(int *)(puVar34 + -0x1c0);\n      do {\n        do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);\n        iVar8 = *(int *)(puVar34 + -0x1c0);\n      } while (*(uint *)(puVar34 + -0x1c0) < 10);\n    } while (*(uint *)(puVar34 + -0x1bc) < *(uint *)(puVar34 + -0x1c0) * 5);\n    iVar9 = *(uint *)(puVar34 + -0x1bc) - *(int *)(puVar34 + -0x1ac);\n    uVar16 = (uint)(byte)puVar34[-0x100];\n    if (iVar9 == 0) goto LAB_00019144;\n    if (uVar16 == 0) {\n      pbVar26 = *(byte **)(puVar34 + -0xfc);\n      goto LAB_00018c10;\n    }\n    iVar8 = *(int *)(puVar34 + -0xf0);\n    if (puVar34[-0xf4] != '\0') goto LAB_00018c58;\n    do {\n      pcVar29 = *(char **)(puVar34 + -0xfc);\n      while( true ) {\n        while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }\n        pcVar29 = *(char **)(puVar34 + -0xfc);\n        if (sVar6 != 0xfffffffe) break;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n        puVar34[-0xf4] = 0;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (*pcVar29 != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-0xf4] = 1;\n      iVar12 = (*pcVar32)(unaff_s3);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar12 != 0) {\n        puVar34[-0x10c] = 0;\n      }\n      puVar34[-0x100] = 1;\nLAB_00018c58:\n    } while (iVar8 != 0);\n    uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n    if (puVar34[-0x100] == '\0') {\nLAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);\n      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;\n      *(uint *)(puVar34 + -0x1b4) = uVar16;\n      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n      goto LAB_0001856c;\n    }\n  }\n  goto LAB_000182f0;\nLAB_000177b8:\n  acStack_ec[4] = '\x01';\n  pcStack_128[4] = '\0';\n  pcStack_128[5] = '\0';\n  pcStack_128[6] = '\0';\n  pcStack_128[7] = '\x01';\n  if ((undefined1 *)0x2 < puStack_138) {\n    unaff_s3 = (mbuiter_multi *)0x0;\n    unaff_s7 = (mbuiter_multi *)0x2;\n    pmVar15 = pmStack_124;\nLAB_000177e0:\n    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);\n    cVar14 = (pmVar15->cur).buf[0x10];\n    do {\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    } while( true );\n  }\nLAB_0001787c:\n  unaff_s0 = (mbuiter_multi *)(auStack_d4 + 0x1c);\n  unaff_s6 = (mbuiter_multi *)auStack_80;\n  in_t5 = (mbuiter_multi *)0x0;\n  auStack_d4._28_4_ = 0;\n  iStack_12c = *(int *)(pcVar32 + -0x7ef4);\n  unaff_s5 = apmStack_68;\n  unaff_s1 = (mbuiter_multi *)(apmStack_68 + 1);\n  unaff_s4 = (mbuiter_multi *)auStack_10c;\n  uStack_b4 = 0;\n  pmVar28 = (mbuiter_multi *)apmStack_a0;\n  auStack_80._0_4_ = 0;\n  pmStack_ac = pmStack_130;\n  *(undefined4 *)auStack_158._24_4_ = 0;\n  auStack_80._4_4_ = 0;\n  auStack_d4[0x18] = '\0';\n  cStack_b0 = '\0';\n  auStack_80._12_4_ = pmStack_130;\n  cStack_84 = '\0';\n  auStack_80[8] = '\0';\njoined_r0x000178d8:\n  if (auStack_80[8] == '\0') goto LAB_00017974;\n  pmVar15 = (mbuiter_multi *)(uint)bStack_6c;\n  pmVar4 = apmStack_68[0];\n  if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_000178f4;\njoined_r0x000178ec:\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (pmVar4 != (mbuiter_multi *)0x0) {\nLAB_000178f4:\n    unaff_s7 = pmStack_70;\n    if ((mbuiter_multi *)auStack_80._12_4_ == unaff_s1) goto LAB_00017ea0;\n    pmStack_11c = (mbuiter_multi *)auStack_80._12_4_;\nLAB_00017904:\n    pmStack_118 = unaff_s7;\n    uStack_114 = (char)pmVar15;\n    unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8);\n    pmVar25 = (mbuiter_multi *)((int)in_t5 * 4);\n    if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_00017af0;\n    pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4);\n    pmStack_130 = in_t5;\n    iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0]);\n    pmVar25 = pmStack_134;\n    in_t5 = pmStack_130;\n    pcVar32 = (code *)auStack_158._16_4_;\n    if (((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')\n    goto LAB_00017af0;\n    pmVar15 = pmVar19;\n    if (iStack_110 != *(int *)&unaff_s3->next_done) goto LAB_00017afc;\n    in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n    auStack_80[8] = '\0';\n    auStack_80._12_4_ =\n         (mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n    pmVar19 = pmVar28;\n    if ((mbuiter_multi *)puStack_138 != in_t5) {\nLAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);\n      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;\n      if (cStack_84 != '\0') goto LAB_00017b90;\n      while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }\n      pmStack_70 = (mbuiter_multi *)0x1;\n      bStack_6c = 1;\n      auStack_80[8] = '\x01';\n      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      goto joined_r0x000178ec;\n    }\nLAB_00017c74:\n    auStack_80[8] = '\0';\n    *(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac;\n    freea(pmStack_124);\n    goto LAB_000179e4;\n  }\n  freea(pmStack_124);\n  unaff_s3 = (mbuiter_multi *)0x0;\n  pmVar15 = pmVar19;\n  pmVar19 = pmVar28;\n  goto LAB_000179e4;\nLAB_00017eec:\n  *(mbuiter_multi **)(pcStack_128 + (int)unaff_s7 * 4) = unaff_s7;\nLAB_0001786c:\n  unaff_s7 = (mbuiter_multi *)((int)unaff_s7 + 1);\n  pmVar15 = pmVar28;\n  if ((mbuiter_multi *)puStack_138 == unaff_s7) goto LAB_0001787c;\n  goto LAB_000177e0;\nLAB_00017d5c:\n  (*pcVar33)();\nLAB_00017d64:\n  iVar7 = (*pcVar33)(unaff_s0);\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (iVar7 == 0) goto LAB_000180a8;\n  auStack_d4[0x18] = '\x01';\n  pmVar15 = unaff_s3;\nLAB_00017d7c:\n  sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n  sVar6 = strnlen1(&pmVar15->in_shift,sVar6);\n  puStack_a8 = (undefined1 *)\n               rpl_mbrtowc((wchar_t *)pmVar28,&pmVar15->in_shift,sVar6,(mbstate_t *)unaff_s0);\n  unaff_s3 = apmStack_a0[0];\n  pmVar19 = pmStack_ac;\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (puStack_a8 == (undefined1 *)0xffffffff) {\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_a4 = '\0';\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)&pmStack_ac->field_0x1;\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 != (mbuiter_multi *)0x0) goto LAB_00017d0c;\nLAB_00017e34:\n    cStack_b0 = '\0';\n    pmVar19 = pmVar15;\n    in_t5 = pmStack_130;\n    pmStack_ac = unaff_s3;\n    goto joined_r0x000178d8;\n  }\n  if (puStack_a8 == &SUB_fffffffe) {\n    puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n    cStack_a4 = '\0';\n    pmStack_ac = pmVar19;\n    pcVar32 = (code *)auStack_158._16_4_;\n    goto LAB_00017cf4;\n  }\n  if (puStack_a8 == (undefined1 *)0x0) {\n    puStack_a8 = (undefined1 *)0x1;\n    if (pmStack_ac->in_shift != false) goto LAB_00018084;\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n    if (apmStack_a0[0] != (mbuiter_multi *)0x0) goto code_r0x00017e7c;\n  }\n  else {\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n  }\n  cStack_a4 = '\x01';\n  iVar7 = (*pcVar33)(unaff_s0);\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (iVar7 != 0) {\n    auStack_d4[0x18] = '\0';\n  }\n  cStack_b0 = '\x01';\n  pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017d54:\n  while( true ) {\n    pcVar33 = *(code **)(pcVar32 + -0x7e50);\n    if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017cf4:\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 == (mbuiter_multi *)0x0) goto LAB_00017e34;\nLAB_00017d0c:\n    pmVar15 = pmStack_ac;\n    if (auStack_d4[0x18] != '\0') break;\n    pmVar15 = (mbuiter_multi *)(uint)pmStack_ac->in_shift;\n    pcVar33 = *(code **)(pcVar32 + -0x7cf4);\n    unaff_s3 = pmStack_ac;\n    if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1) == 0) goto LAB_00017d64;\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_a4 = '\x01';\n    cStack_b0 = '\x01';\n    apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n    unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n  }\n  goto LAB_00017d7c;\nLAB_00018084:\n  pcVar32 = (code *)auStack_158._16_4_;\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79f8,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb2,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);\nLAB_000180a8:\n  pcVar33 = *(code **)(pcVar32 + -0x7e74);\n  pmVar15 = (mbuiter_multi *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a30);\n  pbVar17 = (byte *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a10);\n  (*pcVar33)(pbVar17,pmVar15,0x96,*(int *)(pcVar32 + -0x7fb0) + -0x79e0);\n  goto LAB_000180cc;\ncode_r0x00017e7c:\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb3,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);\n  pmVar15 = extraout_v1;\nLAB_00017ea0:\n  pmVar19 = unaff_s1;\n  pmStack_134 = in_t5;\n  pmStack_130 = pmVar15;\n  (**(code **)(pcVar32 + -0x7d74))(unaff_s4,unaff_s1,unaff_s7,0x18);\n  pmStack_11c = unaff_s4;\n  pmVar15 = pmStack_130;\n  in_t5 = pmStack_134;\n  pcVar32 = (code *)auStack_158._16_4_;\n  goto LAB_00017904;\nLAB_00019168:\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x7a10,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0x96,\n             *(int *)(iVar7 + -0x7fb0) + -0x79e0);\n  pwc = pmVar35;\nLAB_0001918c:\n  iVar8 = *(int *)(iVar7 + -0x7fb0);\n  pmVar15 = pwc;\nLAB_00019190:\n  pwc = pmVar15;\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x79f8,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0xb2,\n             iVar8 + -0x79e0);\n  goto LAB_000191b0;\n}" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar8 = (**(code **)(puVar34 + -0x1a8))(pbVar17,uVar22,puVar34 + -0x198);\n    iVar7 = *(int *)(puVar34 + -0x1d0);\n    *(int *)(puVar34 + -0x1b4) = iVar8;\n    if (iVar8 != 0) break;\n    *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\nLAB_0001856c:\n    do {\n      iVar8 = *(int *)(puVar34 + -0x1c0);\n      do {\n        do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);\n        iVar8 = *(int *)(puVar34 + -0x1c0);\n      } while (*(uint *)(puVar34 + -0x1c0) < 10);\n    } while (*(uint *)(puVar34 + -0x1bc) < *(uint *)(puVar34 + -0x1c0) * 5);\n    iVar9 = *(uint *)(puVar34 + -0x1bc) - *(int *)(puVar34 + -0x1ac);\n    uVar16 = (uint)(byte)puVar34[-0x100];\n    if (iVar9 == 0) goto LAB_00019144;\n    if (uVar16 == 0) {\n      pbVar26 = *(byte **)(puVar34 + -0xfc);\n      goto LAB_00018c10;\n    }\n    iVar8 = *(int *)(puVar34 + -0xf0);\n    if (puVar34[-0xf4] != '\0') goto LAB_00018c58;\n    do {\n      pcVar29 = *(char **)(puVar34 + -0xfc);\n      while( true ) {\n        while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }\n        pcVar29 = *(char **)(puVar34 + -0xfc);\n        if (sVar6 != 0xfffffffe) break;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n        puVar34[-0xf4] = 0;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (*pcVar29 != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-0xf4] = 1;\n      iVar12 = (*pcVar32)(unaff_s3);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar12 != 0) {\n        puVar34[-0x10c] = 0;\n      }\n      puVar34[-0x100] = 1;\nLAB_00018c58:\n    } while (iVar8 != 0);\n    uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n    if (puVar34[-0x100] == '\0') {\nLAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);\n      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;\n      *(uint *)(puVar34 + -0x1b4) = uVar16;\n      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n      goto LAB_0001856c;\n    }\n  }\n  goto LAB_000182f0;\nLAB_000177b8:\n  acStack_ec[4] = '\x01';\n  pcStack_128[4] = '\0';\n  pcStack_128[5] = '\0';\n  pcStack_128[6] = '\0';\n  pcStack_128[7] = '\x01';\n  if ((undefined1 *)0x2 < puStack_138) {\n    unaff_s3 = (mbuiter_multi *)0x0;\n    unaff_s7 = (mbuiter_multi *)0x2;\n    pmVar15 = pmStack_124;\nLAB_000177e0:\n    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);\n    cVar14 = (pmVar15->cur).buf[0x10];\n    do {\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    } while( true );\n  }\nLAB_0001787c:\n  unaff_s0 = (mbuiter_multi *)(auStack_d4 + 0x1c);\n  unaff_s6 = (mbuiter_multi *)auStack_80;\n  in_t5 = (mbuiter_multi *)0x0;\n  auStack_d4._28_4_ = 0;\n  iStack_12c = *(int *)(pcVar32 + -0x7ef4);\n  unaff_s5 = apmStack_68;\n  unaff_s1 = (mbuiter_multi *)(apmStack_68 + 1);\n  unaff_s4 = (mbuiter_multi *)auStack_10c;\n  uStack_b4 = 0;\n  pmVar28 = (mbuiter_multi *)apmStack_a0;\n  auStack_80._0_4_ = 0;\n  pmStack_ac = pmStack_130;\n  *(undefined4 *)auStack_158._24_4_ = 0;\n  auStack_80._4_4_ = 0;\n  auStack_d4[0x18] = '\0';\n  cStack_b0 = '\0';\n  auStack_80._12_4_ = pmStack_130;\n  cStack_84 = '\0';\n  auStack_80[8] = '\0';\njoined_r0x000178d8:\n  if (auStack_80[8] == '\0') goto LAB_00017974;\n  pmVar15 = (mbuiter_multi *)(uint)bStack_6c;\n  pmVar4 = apmStack_68[0];\n  if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_000178f4;\njoined_r0x000178ec:\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (pmVar4 != (mbuiter_multi *)0x0) {\nLAB_000178f4:\n    unaff_s7 = pmStack_70;\n    if ((mbuiter_multi *)auStack_80._12_4_ == unaff_s1) goto LAB_00017ea0;\n    pmStack_11c = (mbuiter_multi *)auStack_80._12_4_;\nLAB_00017904:\n    pmStack_118 = unaff_s7;\n    uStack_114 = (char)pmVar15;\n    unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8);\n    pmVar25 = (mbuiter_multi *)((int)in_t5 * 4);\n    if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_00017af0;\n    pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4);\n    pmStack_130 = in_t5;\n    iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0]);\n    pmVar25 = pmStack_134;\n    in_t5 = pmStack_130;\n    pcVar32 = (code *)auStack_158._16_4_;\n    if (((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')\n    goto LAB_00017af0;\n    pmVar15 = pmVar19;\n    if (iStack_110 != *(int *)&unaff_s3->next_done) goto LAB_00017afc;\n    in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n    auStack_80[8] = '\0';\n    auStack_80._12_4_ =\n         (mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n    pmVar19 = pmVar28;\n    if ((mbuiter_multi *)puStack_138 != in_t5) {\nLAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);\n      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;\n      if (cStack_84 != '\0') goto LAB_00017b90;\n      while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }\n      pmStack_70 = (mbuiter_multi *)0x1;\n      bStack_6c = 1;\n      auStack_80[8] = '\x01';\n      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      goto joined_r0x000178ec;\n    }\nLAB_00017c74:\n    auStack_80[8] = '\0';\n    *(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac;\n    freea(pmStack_124);\n    goto LAB_000179e4;\n  }\n  freea(pmStack_124);\n  unaff_s3 = (mbuiter_multi *)0x0;\n  pmVar15 = pmVar19;\n  pmVar19 = pmVar28;\n  goto LAB_000179e4;\nLAB_00017eec:\n  *(mbuiter_multi **)(pcStack_128 + (int)unaff_s7 * 4) = unaff_s7;\nLAB_0001786c:\n  unaff_s7 = (mbuiter_multi *)((int)unaff_s7 + 1);\n  pmVar15 = pmVar28;\n  if ((mbuiter_multi *)puStack_138 == unaff_s7) goto LAB_0001787c;\n  goto LAB_000177e0;\nLAB_00017d5c:\n  (*pcVar33)();\nLAB_00017d64:\n  iVar7 = (*pcVar33)(unaff_s0);\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (iVar7 == 0) goto LAB_000180a8;\n  auStack_d4[0x18] = '\x01';\n  pmVar15 = unaff_s3;\nLAB_00017d7c:\n  sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n  sVar6 = strnlen1(&pmVar15->in_shift,sVar6);\n  puStack_a8 = (undefined1 *)\n               rpl_mbrtowc((wchar_t *)pmVar28,&pmVar15->in_shift,sVar6,(mbstate_t *)unaff_s0);\n  unaff_s3 = apmStack_a0[0];\n  pmVar19 = pmStack_ac;\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (puStack_a8 == (undefined1 *)0xffffffff) {\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_a4 = '\0';\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)&pmStack_ac->field_0x1;\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 != (mbuiter_multi *)0x0) goto LAB_00017d0c;\nLAB_00017e34:\n    cStack_b0 = '\0';\n    pmVar19 = pmVar15;\n    in_t5 = pmStack_130;\n    pmStack_ac = unaff_s3;\n    goto joined_r0x000178d8;\n  }\n  if (puStack_a8 == &SUB_fffffffe) {\n    puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n    cStack_a4 = '\0';\n    pmStack_ac = pmVar19;\n    pcVar32 = (code *)auStack_158._16_4_;\n    goto LAB_00017cf4;\n  }\n  if (puStack_a8 == (undefined1 *)0x0) {\n    puStack_a8 = (undefined1 *)0x1;\n    if (pmStack_ac->in_shift != false) goto LAB_00018084;\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n    if (apmStack_a0[0] != (mbuiter_multi *)0x0) goto code_r0x00017e7c;\n  }\n  else {\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n  }\n  cStack_a4 = '\x01';\n  iVar7 = (*pcVar33)(unaff_s0);\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (iVar7 != 0) {\n    auStack_d4[0x18] = '\0';\n  }\n  cStack_b0 = '\x01';\n  pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017d54:\n  while( true ) {\n    pcVar33 = *(code **)(pcVar32 + -0x7e50);\n    if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017cf4:\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 == (mbuiter_multi *)0x0) goto LAB_00017e34;\nLAB_00017d0c:\n    pmVar15 = pmStack_ac;\n    if (auStack_d4[0x18] != '\0') break;\n    pmVar15 = (mbuiter_multi *)(uint)pmStack_ac->in_shift;\n    pcVar33 = *(code **)(pcVar32 + -0x7cf4);\n    unaff_s3 = pmStack_ac;\n    if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1) == 0) goto LAB_00017d64;\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_a4 = '\x01';\n    cStack_b0 = '\x01';\n    apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n    unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n  }\n  goto LAB_00017d7c;\nLAB_00018084:\n  pcVar32 = (code *)auStack_158._16_4_;\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79f8,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb2,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);\nLAB_000180a8:\n  pcVar33 = *(code **)(pcVar32 + -0x7e74);\n  pmVar15 = (mbuiter_multi *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a30);\n  pbVar17 = (byte *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a10);\n  (*pcVar33)(pbVar17,pmVar15,0x96,*(int *)(pcVar32 + -0x7fb0) + -0x79e0);\n  goto LAB_000180cc;\ncode_r0x00017e7c:\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb3,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);\n  pmVar15 = extraout_v1;\nLAB_00017ea0:\n  pmVar19 = unaff_s1;\n  pmStack_134 = in_t5;\n  pmStack_130 = pmVar15;\n  (**(code **)(pcVar32 + -0x7d74))(unaff_s4,unaff_s1,unaff_s7,0x18);\n  pmStack_11c = unaff_s4;\n  pmVar15 = pmStack_130;\n  in_t5 = pmStack_134;\n  pcVar32 = (code *)auStack_158._16_4_;\n  goto LAB_00017904;\nLAB_00019168:\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x7a10,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0x96,\n             *(int *)(iVar7 + -0x7fb0) + -0x79e0);\n  pwc = pmVar35;\nLAB_0001918c:\n  iVar8 = *(int *)(iVar7 + -0x7fb0);\n  pmVar15 = pwc;\nLAB_00019190:\n  pwc = pmVar15;\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x79f8,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0xb2,\n             iVar8 + -0x79e0);\n  goto LAB_000191b0;\n}" { (expression_statement "iVar8 = (**(code **)(puVar34 + -0x1a8))(pbVar17,uVar22,puVar34 + -0x198);" (assignment_expression "iVar8 = (**(code **)(puVar34 + -0x1a8))(pbVar17,uVar22,puVar34 + -0x198)" identifier = (call_expression "(**(code **)(puVar34 + -0x1a8))(pbVar17,uVar22,puVar34 + -0x198)" (parenthesized_expression "(**(code **)(puVar34 + -0x1a8))" ( (pointer_expression "**(code **)(puVar34 + -0x1a8)" * (pointer_expression "*(code **)(puVar34 + -0x1a8)" * (cast_expression "(code **)(puVar34 + -0x1a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1a8)" ( (binary_expression "puVar34 + -0x1a8" identifier + number_literal) ))))) )) (argument_list "(pbVar17,uVar22,puVar34 + -0x198)" ( identifier , identifier , (binary_expression "puVar34 + -0x198" identifier + number_literal) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar34 + -0x1b4) = iVar8;" (assignment_expression "*(int *)(puVar34 + -0x1b4) = iVar8" (pointer_expression "*(int *)(puVar34 + -0x1b4)" * (cast_expression "(int *)(puVar34 + -0x1b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b4)" ( (binary_expression "puVar34 + -0x1b4" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);" (assignment_expression "*(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc)" (pointer_expression "*(undefined4 *)(puVar34 + -0x1ac)" * (cast_expression "(undefined4 *)(puVar34 + -0x1ac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1ac)" ( (binary_expression "puVar34 + -0x1ac" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar34 + -0x1bc)" * (cast_expression "(undefined4 *)(puVar34 + -0x1bc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0001856c:\n    do {\n      iVar8 = *(int *)(puVar34 + -0x1c0);\n      do {\n        do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);\n        iVar8 = *(int *)(puVar34 + -0x1c0);\n      } while (*(uint *)(puVar34 + -0x1c0) < 10);\n    } while (*(uint *)(puVar34 + -0x1bc) < *(uint *)(puVar34 + -0x1c0) * 5);" statement_identifier : (do_statement "do {\n      iVar8 = *(int *)(puVar34 + -0x1c0);\n      do {\n        do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);\n        iVar8 = *(int *)(puVar34 + -0x1c0);\n      } while (*(uint *)(puVar34 + -0x1c0) < 10);\n    } while (*(uint *)(puVar34 + -0x1bc) < *(uint *)(puVar34 + -0x1c0) * 5);" do (compound_statement "{\n      iVar8 = *(int *)(puVar34 + -0x1c0);\n      do {\n        do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);\n        iVar8 = *(int *)(puVar34 + -0x1c0);\n      } while (*(uint *)(puVar34 + -0x1c0) < 10);\n    }" { (expression_statement "iVar8 = *(int *)(puVar34 + -0x1c0);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x1c0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1c0)" * (cast_expression "(int *)(puVar34 + -0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) ))))) ;) (do_statement "do {\n        do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);\n        iVar8 = *(int *)(puVar34 + -0x1c0);\n      } while (*(uint *)(puVar34 + -0x1c0) < 10);" do (compound_statement "{\n        do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);\n        iVar8 = *(int *)(puVar34 + -0x1c0);\n      }" { (do_statement "do {\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        } while (*(int *)(puVar34 + -0x1b4) == 0);" do (compound_statement "{\n          puVar20 = *(undefined1 **)(puVar34 + -0xc4);\n          iVar9 = *(int *)(puVar34 + -0xc0);\n          *(int *)(puVar34 + -0x1c0) = iVar8 + 1;\n          iVar8 = *(int *)(puVar34 + -0x1bc) + 1;\n          if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }\n          *(int *)(puVar34 + -0x168) = iVar9;\n          puVar34[-0x164] = puVar34[-0xbc];\n          if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }\n          *(int *)(puVar34 + -0x1bc) = iVar8;\n          pbVar26 = (byte *)(iVar12 + iVar9);\n          puVar34[-200] = 0;\n          *(byte **)(puVar34 + -0xc4) = pbVar26;\n          if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }\n          iVar8 = *(int *)(puVar34 + -0x1c0);\n        }" { (expression_statement "puVar20 = *(undefined1 **)(puVar34 + -0xc4);" (assignment_expression "puVar20 = *(undefined1 **)(puVar34 + -0xc4)" identifier = (pointer_expression "*(undefined1 **)(puVar34 + -0xc4)" * (cast_expression "(undefined1 **)(puVar34 + -0xc4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xc4)" ( (binary_expression "puVar34 + -0xc4" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar34 + -0xc0);" (assignment_expression "iVar9 = *(int *)(puVar34 + -0xc0)" identifier = (pointer_expression "*(int *)(puVar34 + -0xc0)" * (cast_expression "(int *)(puVar34 + -0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc0)" ( (binary_expression "puVar34 + -0xc0" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar34 + -0x1c0) = iVar8 + 1;" (assignment_expression "*(int *)(puVar34 + -0x1c0) = iVar8 + 1" (pointer_expression "*(int *)(puVar34 + -0x1c0)" * (cast_expression "(int *)(puVar34 + -0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) )))) = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = *(int *)(puVar34 + -0x1bc) + 1;" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x1bc) + 1" identifier = (binary_expression "*(int *)(puVar34 + -0x1bc) + 1" (pointer_expression "*(int *)(puVar34 + -0x1bc)" * (cast_expression "(int *)(puVar34 + -0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (puVar20 == puVar34 + -0xb4) {\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }\n          else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }" if (parenthesized_expression "(puVar20 == puVar34 + -0xb4)" ( (binary_expression "puVar20 == puVar34 + -0xb4" identifier == (binary_expression "puVar34 + -0xb4" identifier + number_literal)) )) (compound_statement "{\n            uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(undefined4 *)(puVar34 + -0x16c) = uVar22;\n          }" { (expression_statement "uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18);" (assignment_expression "uVar22 = (**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18)" identifier = (call_expression "(**(code **)(iVar7 + -0x7d74))(puVar34 + -0x15c,puVar20,iVar9,0x18)" (parenthesized_expression "(**(code **)(iVar7 + -0x7d74))" ( (pointer_expression "**(code **)(iVar7 + -0x7d74)" * (pointer_expression "*(code **)(iVar7 + -0x7d74)" * (cast_expression "(code **)(iVar7 + -0x7d74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d74)" ( (binary_expression "iVar7 + -0x7d74" identifier + number_literal) ))))) )) (argument_list "(puVar34 + -0x15c,puVar20,iVar9,0x18)" ( (binary_expression "puVar34 + -0x15c" identifier + number_literal) , identifier , identifier , number_literal )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x16c) = uVar22;" (assignment_expression "*(undefined4 *)(puVar34 + -0x16c) = uVar22" (pointer_expression "*(undefined4 *)(puVar34 + -0x16c)" * (cast_expression "(undefined4 *)(puVar34 + -0x16c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x16c)" ( (binary_expression "puVar34 + -0x16c" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }" else (compound_statement "{\n            *(undefined1 **)(puVar34 + -0x16c) = puVar20;\n          }" { (expression_statement "*(undefined1 **)(puVar34 + -0x16c) = puVar20;" (assignment_expression "*(undefined1 **)(puVar34 + -0x16c) = puVar20" (pointer_expression "*(undefined1 **)(puVar34 + -0x16c)" * (cast_expression "(undefined1 **)(puVar34 + -0x16c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x16c)" ( (binary_expression "puVar34 + -0x16c" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "*(int *)(puVar34 + -0x168) = iVar9;" (assignment_expression "*(int *)(puVar34 + -0x168) = iVar9" (pointer_expression "*(int *)(puVar34 + -0x168)" * (cast_expression "(int *)(puVar34 + -0x168)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x168)" ( (binary_expression "puVar34 + -0x168" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-0x164] = puVar34[-0xbc];" (assignment_expression "puVar34[-0x164] = puVar34[-0xbc]" (subscript_expression "puVar34[-0x164]" identifier [ number_literal ]) = (subscript_expression "puVar34[-0xbc]" identifier [ number_literal ])) ;) (if_statement "if (puVar34[-0xbc] == '\0') {\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }\n          else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }" if (parenthesized_expression "(puVar34[-0xbc] == '\0')" ( (binary_expression "puVar34[-0xbc] == '\0'" (subscript_expression "puVar34[-0xbc]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n            if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }\n          }" { (labeled_statement "LAB_00018a5c:\n            iVar12 = *(int *)(puVar34 + -0xc4);" statement_identifier : (expression_statement "iVar12 = *(int *)(puVar34 + -0xc4);" (assignment_expression "iVar12 = *(int *)(puVar34 + -0xc4)" identifier = (pointer_expression "*(int *)(puVar34 + -0xc4)" * (cast_expression "(int *)(puVar34 + -0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc4)" ( (binary_expression "puVar34 + -0xc4" identifier + number_literal) ))))) ;)) (if_statement "if (*(int *)(puVar34 + -400) == iVar9) {\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }" if (parenthesized_expression "(*(int *)(puVar34 + -400) == iVar9)" ( (binary_expression "*(int *)(puVar34 + -400) == iVar9" (pointer_expression "*(int *)(puVar34 + -400)" * (cast_expression "(int *)(puVar34 + -400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -400)" ( (binary_expression "puVar34 + -400" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n              iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar12 == 0) goto LAB_000185d0;\n              goto LAB_000188c4;\n            }" { (expression_statement "iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9);" (assignment_expression "iVar12 = (**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9)" identifier = (call_expression "(**(code **)(iVar7 + -0x7d10))\n                                 (*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9)" (parenthesized_expression "(**(code **)(iVar7 + -0x7d10))" ( (pointer_expression "**(code **)(iVar7 + -0x7d10)" * (pointer_expression "*(code **)(iVar7 + -0x7d10)" * (cast_expression "(code **)(iVar7 + -0x7d10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d10)" ( (binary_expression "iVar7 + -0x7d10" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0x16c),\n                                  *(undefined4 *)(puVar34 + -0x194),iVar9)" ( (pointer_expression "*(undefined4 *)(puVar34 + -0x16c)" * (cast_expression "(undefined4 *)(puVar34 + -0x16c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x16c)" ( (binary_expression "puVar34 + -0x16c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar34 + -0x194)" * (cast_expression "(undefined4 *)(puVar34 + -0x194)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x194)" ( (binary_expression "puVar34 + -0x194" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 == 0) goto LAB_000185d0;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000185d0;" goto statement_identifier ;)) (goto_statement "goto LAB_000188c4;" goto statement_identifier ;) })) }) (else_clause "else {\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }" else (compound_statement "{\n            iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(int *)(puVar34 + -0x160) = iVar12;\n            if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;\n            if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;\nLAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);\n            puVar5 = (undefined4 *)(puVar34 + -0x9c);\n            do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));\n            pbVar26 = *(byte **)(puVar34 + -0x1b8);\n            *(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;\n            bVar1 = *pbVar26;\n            iVar8 = (int)(char)bVar1;\n            uVar22 = puVar13[5];\n            puVar18[4] = *puVar23;\n            puVar18[5] = uVar22;\n            puVar34[-0x90] = 0;\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            puVar34[-100] = 0;\n            *(undefined4 *)(puVar34 + -0x60) = 0;\n            uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);\n            *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;\n            *(undefined4 *)(puVar34 + -0x5c) = 0;\n            puVar34[-0x58] = 0;\n            pmVar35 = pwc;\n            pmVar15 = pwc;\n            if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }\n            puVar34[-0x58] = 0;\n            pmVar31 = (mbstate_t *)(puVar34 + -0x98);\n            pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));\n            *(byte **)(puVar34 + -0x54) = pbVar26;\n            iVar8 = *(int *)(puVar34 + -0x1bc) + 2;\nLAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }\n            if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }\n            pbVar26 = *(byte **)(puVar34 + -0x8c);\n            if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = pwc;\n            sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0x88) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }\n            if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }\n            uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));\n            *(undefined4 *)(puVar34 + -0x88) = uVar22;\n            puVar34[-0x84] = 0;\n            puVar34[-0x90] = 1;\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }\nLAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);\nLAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);\n          }" { (expression_statement "iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8));" (assignment_expression "iVar12 = (**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8))" identifier = (call_expression "(**(code **)(iVar7 + -0x7cfc))(*(undefined4 *)(puVar34 + -0xb8))" (parenthesized_expression "(**(code **)(iVar7 + -0x7cfc))" ( (pointer_expression "**(code **)(iVar7 + -0x7cfc)" * (pointer_expression "*(code **)(iVar7 + -0x7cfc)" * (cast_expression "(code **)(iVar7 + -0x7cfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cfc)" ( (binary_expression "iVar7 + -0x7cfc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0xb8))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0xb8)" * (cast_expression "(undefined4 *)(puVar34 + -0xb8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xb8)" ( (binary_expression "puVar34 + -0xb8" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar34 + -0x160) = iVar12;" (assignment_expression "*(int *)(puVar34 + -0x160) = iVar12" (pointer_expression "*(int *)(puVar34 + -0x160)" * (cast_expression "(int *)(puVar34 + -0x160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x160)" ( (binary_expression "puVar34 + -0x160" identifier + number_literal) )))) = identifier) ;) (if_statement "if (puVar34[-0x18c] == '\0') goto LAB_00018a5c;" if (parenthesized_expression "(puVar34[-0x18c] == '\0')" ( (binary_expression "puVar34[-0x18c] == '\0'" (subscript_expression "puVar34[-0x18c]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00018a5c;" goto statement_identifier ;)) (if_statement "if (iVar12 != *(int *)(puVar34 + -0x188)) goto LAB_000188c4;" if (parenthesized_expression "(iVar12 != *(int *)(puVar34 + -0x188))" ( (binary_expression "iVar12 != *(int *)(puVar34 + -0x188)" identifier != (pointer_expression "*(int *)(puVar34 + -0x188)" * (cast_expression "(int *)(puVar34 + -0x188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x188)" ( (binary_expression "puVar34 + -0x188" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000188c4;" goto statement_identifier ;)) (labeled_statement "LAB_000185d0:\n            puVar23 = (undefined4 *)(puVar34 + -0xd4);" statement_identifier : (expression_statement "puVar23 = (undefined4 *)(puVar34 + -0xd4);" (assignment_expression "puVar23 = (undefined4 *)(puVar34 + -0xd4)" identifier = (cast_expression "(undefined4 *)(puVar34 + -0xd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xd4)" ( (binary_expression "puVar34 + -0xd4" identifier + number_literal) )))) ;)) (expression_statement "puVar5 = (undefined4 *)(puVar34 + -0x9c);" (assignment_expression "puVar5 = (undefined4 *)(puVar34 + -0x9c)" identifier = (cast_expression "(undefined4 *)(puVar34 + -0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x9c)" ( (binary_expression "puVar34 + -0x9c" identifier + number_literal) )))) ;) (do_statement "do {\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            } while (puVar23 != (undefined4 *)(puVar34 + -0xa4));" do (compound_statement "{\n              puVar18 = puVar5;\n              puVar13 = puVar23;\n              puVar23 = puVar13 + 4;\n              uVar24 = puVar13[1];\n              uVar21 = puVar13[2];\n              uVar22 = puVar13[3];\n              *puVar18 = *puVar13;\n              puVar18[1] = uVar24;\n              puVar18[2] = uVar21;\n              puVar18[3] = uVar22;\n              puVar5 = puVar18 + 4;\n            }" { (expression_statement "puVar18 = puVar5;" (assignment_expression "puVar18 = puVar5" identifier = identifier) ;) (expression_statement "puVar13 = puVar23;" (assignment_expression "puVar13 = puVar23" identifier = identifier) ;) (expression_statement "puVar23 = puVar13 + 4;" (assignment_expression "puVar23 = puVar13 + 4" identifier = (binary_expression "puVar13 + 4" identifier + number_literal)) ;) (expression_statement "uVar24 = puVar13[1];" (assignment_expression "uVar24 = puVar13[1]" identifier = (subscript_expression "puVar13[1]" identifier [ number_literal ])) ;) (expression_statement "uVar21 = puVar13[2];" (assignment_expression "uVar21 = puVar13[2]" identifier = (subscript_expression "puVar13[2]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = puVar13[3];" (assignment_expression "uVar22 = puVar13[3]" identifier = (subscript_expression "puVar13[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar18 = *puVar13;" (assignment_expression "*puVar18 = *puVar13" (pointer_expression "*puVar18" * identifier) = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "puVar18[1] = uVar24;" (assignment_expression "puVar18[1] = uVar24" (subscript_expression "puVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18[2] = uVar21;" (assignment_expression "puVar18[2] = uVar21" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18[3] = uVar22;" (assignment_expression "puVar18[3] = uVar22" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5 = puVar18 + 4;" (assignment_expression "puVar5 = puVar18 + 4" identifier = (binary_expression "puVar18 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar23 != (undefined4 *)(puVar34 + -0xa4))" ( (binary_expression "puVar23 != (undefined4 *)(puVar34 + -0xa4)" identifier != (cast_expression "(undefined4 *)(puVar34 + -0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xa4)" ( (binary_expression "puVar34 + -0xa4" identifier + number_literal) )))) )) ;) (expression_statement "pbVar26 = *(byte **)(puVar34 + -0x1b8);" (assignment_expression "pbVar26 = *(byte **)(puVar34 + -0x1b8)" identifier = (pointer_expression "*(byte **)(puVar34 + -0x1b8)" * (cast_expression "(byte **)(puVar34 + -0x1b8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60;" (assignment_expression "*(undefined1 **)(puVar34 + -0x1c4) = puVar34 + -0x60" (pointer_expression "*(undefined1 **)(puVar34 + -0x1c4)" * (cast_expression "(undefined1 **)(puVar34 + -0x1c4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1c4)" ( (binary_expression "puVar34 + -0x1c4" identifier + number_literal) )))) = (binary_expression "puVar34 + -0x60" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar26;" (assignment_expression "bVar1 = *pbVar26" identifier = (pointer_expression "*pbVar26" * identifier)) ;) (expression_statement "iVar8 = (int)(char)bVar1;" (assignment_expression "iVar8 = (int)(char)bVar1" identifier = (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "uVar22 = puVar13[5];" (assignment_expression "uVar22 = puVar13[5]" identifier = (subscript_expression "puVar13[5]" identifier [ number_literal ])) ;) (expression_statement "puVar18[4] = *puVar23;" (assignment_expression "puVar18[4] = *puVar23" (subscript_expression "puVar18[4]" identifier [ number_literal ]) = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "puVar18[5] = uVar22;" (assignment_expression "puVar18[5] = uVar22" (subscript_expression "puVar18[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar34[-0x90] = 0;" (assignment_expression "puVar34[-0x90] = 0" (subscript_expression "puVar34[-0x90]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte **)(puVar34 + -0x54) = pbVar26;" (assignment_expression "*(byte **)(puVar34 + -0x54) = pbVar26" (pointer_expression "*(byte **)(puVar34 + -0x54)" * (cast_expression "(byte **)(puVar34 + -0x54)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-100] = 0;" (assignment_expression "puVar34[-100] = 0" (subscript_expression "puVar34[-100]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x60) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x60) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x60)" * (cast_expression "(undefined4 *)(puVar34 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x60)" ( (binary_expression "puVar34 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4);" (assignment_expression "uVar16 = *(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4)" identifier = (pointer_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4)" * (cast_expression "(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4)" ( (binary_expression "*(int *)(puVar34 + -0x1c8) + (uint)(bVar1 >> 5) * 4" (pointer_expression "*(int *)(puVar34 + -0x1c8)" * (cast_expression "(int *)(puVar34 + -0x1c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) )))) + (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 >> 5)" ( (binary_expression "bVar1 >> 5" identifier >> number_literal) ))) * number_literal)) ))))) ;) (expression_statement "*(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9;" (assignment_expression "*(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + iVar9" (pointer_expression "*(int *)(puVar34 + -0x8c)" * (cast_expression "(int *)(puVar34 + -0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x8c)" ( (binary_expression "puVar34 + -0x8c" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar34 + -0x8c) + iVar9" (pointer_expression "*(int *)(puVar34 + -0x8c)" * (cast_expression "(int *)(puVar34 + -0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x8c)" ( (binary_expression "puVar34 + -0x8c" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x5c) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x5c) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x5c)" * (cast_expression "(undefined4 *)(puVar34 + -0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x5c)" ( (binary_expression "puVar34 + -0x5c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar34[-0x58] = 0;" (assignment_expression "puVar34[-0x58] = 0" (subscript_expression "puVar34[-0x58]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pmVar35 = pwc;" (assignment_expression "pmVar35 = pwc" identifier = identifier) ;) (expression_statement "pmVar15 = pwc;" (assignment_expression "pmVar15 = pwc" identifier = identifier) ;) (if_statement "if ((uVar16 >> (bVar1 & 0x1f) & 1) == 0) {\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }\n            else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }" if (parenthesized_expression "((uVar16 >> (bVar1 & 0x1f) & 1) == 0)" ( (binary_expression "(uVar16 >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(uVar16 >> (bVar1 & 0x1f) & 1)" ( (binary_expression "uVar16 >> (bVar1 & 0x1f) & 1" (binary_expression "uVar16 >> (bVar1 & 0x1f)" identifier >> (parenthesized_expression "(bVar1 & 0x1f)" ( (binary_expression "bVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n              pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar8 == 0) goto LAB_00019168;\n              pcVar32 = *(code **)(iVar7 + -0x7d40);\n              puVar34[-100] = 1;\n              sVar6 = (*pcVar32)();\n              pcVar29 = *(char **)(puVar34 + -0x1b8);\n              sVar6 = strnlen1(pcVar29,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }\n            }" { (expression_statement "pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4);" (assignment_expression "pmVar31 = *(mbstate_t **)(puVar34 + -0x1c4)" identifier = (pointer_expression "*(mbstate_t **)(puVar34 + -0x1c4)" * (cast_expression "(mbstate_t **)(puVar34 + -0x1c4)" ( (type_descriptor "mbstate_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1c4)" ( (binary_expression "puVar34 + -0x1c4" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);" (assignment_expression "iVar8 = (**(code **)(iVar7 + -0x7cf4))(pmVar31)" identifier = (call_expression "(**(code **)(iVar7 + -0x7cf4))(pmVar31)" (parenthesized_expression "(**(code **)(iVar7 + -0x7cf4))" ( (pointer_expression "**(code **)(iVar7 + -0x7cf4)" * (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) )) (argument_list "(pmVar31)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) goto LAB_00019168;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019168;" goto statement_identifier ;)) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7d40);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7d40)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7d40)" * (cast_expression "(code **)(iVar7 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d40)" ( (binary_expression "iVar7 + -0x7d40" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-100] = 1;" (assignment_expression "puVar34[-100] = 1" (subscript_expression "puVar34[-100]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar6 = (*pcVar32)();" (assignment_expression "sVar6 = (*pcVar32)()" identifier = (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "pcVar29 = *(char **)(puVar34 + -0x1b8);" (assignment_expression "pcVar29 = *(char **)(puVar34 + -0x1b8)" identifier = (pointer_expression "*(char **)(puVar34 + -0x1b8)" * (cast_expression "(char **)(puVar34 + -0x1b8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) ))))) ;) (expression_statement "sVar6 = strnlen1(pcVar29,sVar6);" (assignment_expression "sVar6 = strnlen1(pcVar29,sVar6)" identifier = (call_expression "strnlen1(pcVar29,sVar6)" identifier (argument_list "(pcVar29,sVar6)" ( identifier , identifier )))) ;) (expression_statement "pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);" (assignment_expression "pmVar19 = (mbuiter_multi *)(puVar34 + -0x48)" identifier = (cast_expression "(mbuiter_multi *)(puVar34 + -0x48)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x48)" ( (binary_expression "puVar34 + -0x48" identifier + number_literal) )))) ;) (expression_statement "sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31);" (assignment_expression "sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31)" identifier = (call_expression "rpl_mbrtowc((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31)" identifier (argument_list "((wchar_t *)pmVar19,pcVar29,sVar6,pmVar31)" ( (cast_expression "(wchar_t *)pmVar19" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(size_t *)(puVar34 + -0x50) = sVar6;" (assignment_expression "*(size_t *)(puVar34 + -0x50) = sVar6" (pointer_expression "*(size_t *)(puVar34 + -0x50)" * (cast_expression "(size_t *)(puVar34 + -0x50)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) )))) = identifier) ;) (if_statement "if (sVar6 == 0xffffffff) {\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }" if (parenthesized_expression "(sVar6 == 0xffffffff)" ( (binary_expression "sVar6 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                iVar8 = *(int *)(puVar34 + -0x54);\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n              }" { (expression_statement "iVar8 = *(int *)(puVar34 + -0x54);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x54)" identifier = (pointer_expression "*(int *)(puVar34 + -0x54)" * (cast_expression "(int *)(puVar34 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-0x4c] = 0;" (assignment_expression "puVar34[-0x4c] = 0" (subscript_expression "puVar34[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x50) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x50) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x50)" * (cast_expression "(undefined4 *)(puVar34 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }" else (compound_statement "{\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }\n                iVar8 = *(int *)(puVar34 + -0x54);\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n              }" { (if_statement "if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }" if (parenthesized_expression "(sVar6 != 0xfffffffe)" ( (binary_expression "sVar6 != 0xfffffffe" identifier != number_literal) )) (compound_statement "{\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1a4) = iVar8;\n                  puVar34[-0x4c] = 1;\n                  iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar8 = *(int *)(puVar34 + -0x1a4);\n                  if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x00018e34;\n                }" { (if_statement "if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }" if (parenthesized_expression "(sVar6 == 0)" ( (binary_expression "sVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar8 != 0) goto LAB_0001913c;\n                  }" { (expression_statement "*(undefined4 *)(puVar34 + -0x50) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x50) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x50)" * (cast_expression "(undefined4 *)(puVar34 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = *(int *)(puVar34 + -0x48);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x48)" identifier = (pointer_expression "*(int *)(puVar34 + -0x48)" * (cast_expression "(int *)(puVar34 + -0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x48)" ( (binary_expression "puVar34 + -0x48" identifier + number_literal) ))))) ;) (if_statement "if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;" if (parenthesized_expression "(**(char **)(puVar34 + -0x54) != '\0')" ( (binary_expression "**(char **)(puVar34 + -0x54) != '\0'" (pointer_expression "**(char **)(puVar34 + -0x54)" * (pointer_expression "*(char **)(puVar34 + -0x54)" * (cast_expression "(char **)(puVar34 + -0x54)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001918c;" goto statement_identifier ;)) (if_statement "if (iVar8 != 0) goto LAB_0001913c;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001913c;" goto statement_identifier ;)) }) (else_clause "else {\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }" else (compound_statement "{\n                    iVar8 = *(int *)(puVar34 + -0x48);\n                  }" { (expression_statement "iVar8 = *(int *)(puVar34 + -0x48);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x48)" identifier = (pointer_expression "*(int *)(puVar34 + -0x48)" * (cast_expression "(int *)(puVar34 + -0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x48)" ( (binary_expression "puVar34 + -0x48" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7cf4);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7cf4)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar34 + -0x1a4) = iVar8;" (assignment_expression "*(int *)(puVar34 + -0x1a4) = iVar8" (pointer_expression "*(int *)(puVar34 + -0x1a4)" * (cast_expression "(int *)(puVar34 + -0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1a4)" ( (binary_expression "puVar34 + -0x1a4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-0x4c] = 1;" (assignment_expression "puVar34[-0x4c] = 1" (subscript_expression "puVar34[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));" (assignment_expression "iVar9 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4))" identifier = (call_expression "(*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4))" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(*(undefined4 *)(puVar34 + -0x1c4))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0x1c4)" * (cast_expression "(undefined4 *)(puVar34 + -0x1c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c4)" ( (binary_expression "puVar34 + -0x1c4" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar34 + -0x1a4);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x1a4)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1a4)" * (cast_expression "(int *)(puVar34 + -0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1a4)" ( (binary_expression "puVar34 + -0x1a4" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 != 0) {\n                    puVar34[-100] = 0;\n                  }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                    puVar34[-100] = 0;\n                  }" { (expression_statement "puVar34[-100] = 0;" (assignment_expression "puVar34[-100] = 0" (subscript_expression "puVar34[-100]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar34[-0x58] = 1;" (assignment_expression "puVar34[-0x58] = 1" (subscript_expression "puVar34[-0x58]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto joined_r0x00018e34;" goto statement_identifier ;) })) (expression_statement "iVar8 = *(int *)(puVar34 + -0x54);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x54)" identifier = (pointer_expression "*(int *)(puVar34 + -0x54)" * (cast_expression "(int *)(puVar34 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8);" (assignment_expression "uVar22 = (**(code **)(iVar7 + -0x7d94))(iVar8)" identifier = (call_expression "(**(code **)(iVar7 + -0x7d94))(iVar8)" (parenthesized_expression "(**(code **)(iVar7 + -0x7d94))" ( (pointer_expression "**(code **)(iVar7 + -0x7d94)" * (pointer_expression "*(code **)(iVar7 + -0x7d94)" * (cast_expression "(code **)(iVar7 + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d94)" ( (binary_expression "iVar7 + -0x7d94" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x50) = uVar22;" (assignment_expression "*(undefined4 *)(puVar34 + -0x50) = uVar22" (pointer_expression "*(undefined4 *)(puVar34 + -0x50)" * (cast_expression "(undefined4 *)(puVar34 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-0x4c] = 0;" (assignment_expression "puVar34[-0x4c] = 0" (subscript_expression "puVar34[-0x4c]" identifier [ number_literal ]) = number_literal) ;) }))) }) (else_clause "else {\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }" else (compound_statement "{\n              *(int *)(puVar34 + -0x48) = iVar8;\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\njoined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }\n              iVar8 = *(int *)(puVar34 + -0x54);\n            }" { (expression_statement "*(int *)(puVar34 + -0x48) = iVar8;" (assignment_expression "*(int *)(puVar34 + -0x48) = iVar8" (pointer_expression "*(int *)(puVar34 + -0x48)" * (cast_expression "(int *)(puVar34 + -0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x48)" ( (binary_expression "puVar34 + -0x48" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x50) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x50) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x50)" * (cast_expression "(undefined4 *)(puVar34 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar34[-0x4c] = 1;" (assignment_expression "puVar34[-0x4c] = 1" (subscript_expression "puVar34[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-0x58] = 1;" (assignment_expression "puVar34[-0x58] = 1" (subscript_expression "puVar34[-0x58]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "joined_r0x00018e34:\n              if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }" statement_identifier : (if_statement "if (iVar8 == 0) {\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                (**(code **)(iVar7 + -0x7e50))();\n                goto LAB_00018e48;\n              }" { (expression_statement "(**(code **)(iVar7 + -0x7e50))();" (call_expression "(**(code **)(iVar7 + -0x7e50))()" (parenthesized_expression "(**(code **)(iVar7 + -0x7e50))" ( (pointer_expression "**(code **)(iVar7 + -0x7e50)" * (pointer_expression "*(code **)(iVar7 + -0x7e50)" * (cast_expression "(code **)(iVar7 + -0x7e50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7e50)" ( (binary_expression "iVar7 + -0x7e50" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00018e48;" goto statement_identifier ;) }))) (expression_statement "iVar8 = *(int *)(puVar34 + -0x54);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x54)" identifier = (pointer_expression "*(int *)(puVar34 + -0x54)" * (cast_expression "(int *)(puVar34 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) ))))) ;) }))) (expression_statement "puVar34[-0x58] = 0;" (assignment_expression "puVar34[-0x58] = 0" (subscript_expression "puVar34[-0x58]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pmVar31 = (mbstate_t *)(puVar34 + -0x98);" (assignment_expression "pmVar31 = (mbstate_t *)(puVar34 + -0x98)" identifier = (cast_expression "(mbstate_t *)(puVar34 + -0x98)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x98)" ( (binary_expression "puVar34 + -0x98" identifier + number_literal) )))) ;) (expression_statement "pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50));" (assignment_expression "pbVar26 = (byte *)(iVar8 + *(int *)(puVar34 + -0x50))" identifier = (cast_expression "(byte *)(iVar8 + *(int *)(puVar34 + -0x50))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + *(int *)(puVar34 + -0x50))" ( (binary_expression "iVar8 + *(int *)(puVar34 + -0x50)" identifier + (pointer_expression "*(int *)(puVar34 + -0x50)" * (cast_expression "(int *)(puVar34 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) ))))) )))) ;) (expression_statement "*(byte **)(puVar34 + -0x54) = pbVar26;" (assignment_expression "*(byte **)(puVar34 + -0x54) = pbVar26" (pointer_expression "*(byte **)(puVar34 + -0x54)" * (cast_expression "(byte **)(puVar34 + -0x54)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar8 = *(int *)(puVar34 + -0x1bc) + 2;" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x1bc) + 2" identifier = (binary_expression "*(int *)(puVar34 + -0x1bc) + 2" (pointer_expression "*(int *)(puVar34 + -0x1bc)" * (cast_expression "(int *)(puVar34 + -0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000187b4:\n            if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }" statement_identifier : (if_statement "if (puVar34[-100] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }\n            else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }" if (parenthesized_expression "(puVar34[-100] == '\0')" ( (binary_expression "puVar34[-100] == '\0'" (subscript_expression "puVar34[-100]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }\n              *(undefined4 *)(puVar34 + -0x50) = 1;\n              iVar9 = (int)(char)*pbVar26;\n              puVar34[-0x4c] = 1;\n              puVar34[-0x58] = 1;\n              *(int *)(puVar34 + -0x48) = iVar9;\njoined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;\n            }" { (if_statement "if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0) {\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }" if (parenthesized_expression "((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1)" ( (binary_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1" (binary_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f)" (pointer_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" * (cast_expression "(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" ( (binary_expression "*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4" (pointer_expression "*(int *)(puVar34 + -0x1c8)" * (cast_expression "(int *)(puVar34 + -0x1c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) )))) + (binary_expression "(uint)(*pbVar26 >> 5) * 4" (call_expression "(uint)(*pbVar26 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*pbVar26 >> 5)" ( (binary_expression "*pbVar26 >> 5" (pointer_expression "*pbVar26" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*pbVar26 & 0x1f)" ( (binary_expression "*pbVar26 & 0x1f" (pointer_expression "*pbVar26" * identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n                iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }\n                goto LAB_00019168;\n              }" { (expression_statement "iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4));" (assignment_expression "iVar9 = (**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4))" identifier = (call_expression "(**(code **)(iVar7 + -0x7cf4))(*(undefined4 *)(puVar34 + -0x1c4))" (parenthesized_expression "(**(code **)(iVar7 + -0x7cf4))" ( (pointer_expression "**(code **)(iVar7 + -0x7cf4)" * (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0x1c4))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0x1c4)" * (cast_expression "(undefined4 *)(puVar34 + -0x1c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c4)" ( (binary_expression "puVar34 + -0x1c4" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 != 0) {\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                  puVar34[-100] = 1;\n                  goto LAB_000187c0;\n                }" { (expression_statement "puVar34[-100] = 1;" (assignment_expression "puVar34[-100] = 1" (subscript_expression "puVar34[-100]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000187c0;" goto statement_identifier ;) })) (goto_statement "goto LAB_00019168;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar34 + -0x50) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x50) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x50)" * (cast_expression "(undefined4 *)(puVar34 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = (int)(char)*pbVar26;" (assignment_expression "iVar9 = (int)(char)*pbVar26" identifier = (cast_expression "(int)(char)*pbVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar26" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar26" * identifier)))) ;) (expression_statement "puVar34[-0x4c] = 1;" (assignment_expression "puVar34[-0x4c] = 1" (subscript_expression "puVar34[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-0x58] = 1;" (assignment_expression "puVar34[-0x58] = 1" (subscript_expression "puVar34[-0x58]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(puVar34 + -0x48) = iVar9;" (assignment_expression "*(int *)(puVar34 + -0x48) = iVar9" (pointer_expression "*(int *)(puVar34 + -0x48)" * (cast_expression "(int *)(puVar34 + -0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x48)" ( (binary_expression "puVar34 + -0x48" identifier + number_literal) )))) = identifier) ;) (labeled_statement "joined_r0x000186e4:\n              if (iVar9 == 0) goto LAB_000182f0;" statement_identifier : (if_statement "if (iVar9 == 0) goto LAB_000182f0;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000182f0;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }" else (compound_statement "{\nLAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();\n              sVar6 = strnlen1((char *)pbVar26,sVar6);\n              pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);\n              sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(size_t *)(puVar34 + -0x50) = sVar6;\n              if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }\n            }" { (labeled_statement "LAB_000187c0:\n              sVar6 = (**(code **)(iVar7 + -0x7d40))();" statement_identifier : (expression_statement "sVar6 = (**(code **)(iVar7 + -0x7d40))();" (assignment_expression "sVar6 = (**(code **)(iVar7 + -0x7d40))()" identifier = (call_expression "(**(code **)(iVar7 + -0x7d40))()" (parenthesized_expression "(**(code **)(iVar7 + -0x7d40))" ( (pointer_expression "**(code **)(iVar7 + -0x7d40)" * (pointer_expression "*(code **)(iVar7 + -0x7d40)" * (cast_expression "(code **)(iVar7 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d40)" ( (binary_expression "iVar7 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (expression_statement "sVar6 = strnlen1((char *)pbVar26,sVar6);" (assignment_expression "sVar6 = strnlen1((char *)pbVar26,sVar6)" identifier = (call_expression "strnlen1((char *)pbVar26,sVar6)" identifier (argument_list "((char *)pbVar26,sVar6)" ( (cast_expression "(char *)pbVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "pmVar19 = (mbuiter_multi *)(puVar34 + -0x48);" (assignment_expression "pmVar19 = (mbuiter_multi *)(puVar34 + -0x48)" identifier = (cast_expression "(mbuiter_multi *)(puVar34 + -0x48)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x48)" ( (binary_expression "puVar34 + -0x48" identifier + number_literal) )))) ;) (expression_statement "sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4));" (assignment_expression "sVar6 = rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4))" identifier = (call_expression "rpl_mbrtowc((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4))" identifier (argument_list "((wchar_t *)(puVar34 + -0x48),(char *)pbVar26,sVar6,\n                                  *(mbstate_t **)(puVar34 + -0x1c4))" ( (cast_expression "(wchar_t *)(puVar34 + -0x48)" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x48)" ( (binary_expression "puVar34 + -0x48" identifier + number_literal) ))) , (cast_expression "(char *)pbVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (pointer_expression "*(mbstate_t **)(puVar34 + -0x1c4)" * (cast_expression "(mbstate_t **)(puVar34 + -0x1c4)" ( (type_descriptor "mbstate_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x1c4)" ( (binary_expression "puVar34 + -0x1c4" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(size_t *)(puVar34 + -0x50) = sVar6;" (assignment_expression "*(size_t *)(puVar34 + -0x50) = sVar6" (pointer_expression "*(size_t *)(puVar34 + -0x50)" * (cast_expression "(size_t *)(puVar34 + -0x50)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) )))) = identifier) ;) (if_statement "if (sVar6 == 0xffffffff) {\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }\n              else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }" if (parenthesized_expression "(sVar6 == 0xffffffff)" ( (binary_expression "sVar6 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                puVar34[-0x4c] = 0;\n                *(undefined4 *)(puVar34 + -0x50) = 1;\n                puVar34[-0x58] = 1;\n              }" { (expression_statement "puVar34[-0x4c] = 0;" (assignment_expression "puVar34[-0x4c] = 0" (subscript_expression "puVar34[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x50) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x50) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x50)" * (cast_expression "(undefined4 *)(puVar34 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar34[-0x58] = 1;" (assignment_expression "puVar34[-0x58] = 1" (subscript_expression "puVar34[-0x58]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }" else (compound_statement "{\n                if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }\n                uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                *(undefined4 *)(puVar34 + -0x50) = uVar22;\n                puVar34[-0x4c] = 0;\n                puVar34[-0x58] = 1;\n              }" { (if_statement "if (sVar6 != 0xfffffffe) {\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }" if (parenthesized_expression "(sVar6 != 0xfffffffe)" ( (binary_expression "sVar6 != 0xfffffffe" identifier != number_literal) )) (compound_statement "{\n                  if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }\n                  pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                  *(int *)(puVar34 + -0x1bc) = iVar9;\n                  puVar34[-0x4c] = 1;\n                  iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));\n                  iVar7 = *(int *)(puVar34 + -0x1d0);\n                  iVar9 = *(int *)(puVar34 + -0x1bc);\n                  if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }\n                  puVar34[-0x58] = 1;\n                  goto joined_r0x000186e4;\n                }" { (if_statement "if (sVar6 == 0) {\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }\n                  else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }" if (parenthesized_expression "(sVar6 == 0)" ( (binary_expression "sVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar34 + -0x50) = 1;\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                    if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;\n                    if (iVar9 != 0) goto LAB_0001913c;\n                  }" { (expression_statement "*(undefined4 *)(puVar34 + -0x50) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x50) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x50)" * (cast_expression "(undefined4 *)(puVar34 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = *(int *)(puVar34 + -0x48);" (assignment_expression "iVar9 = *(int *)(puVar34 + -0x48)" identifier = (pointer_expression "*(int *)(puVar34 + -0x48)" * (cast_expression "(int *)(puVar34 + -0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x48)" ( (binary_expression "puVar34 + -0x48" identifier + number_literal) ))))) ;) (if_statement "if (**(char **)(puVar34 + -0x54) != '\0') goto LAB_0001918c;" if (parenthesized_expression "(**(char **)(puVar34 + -0x54) != '\0')" ( (binary_expression "**(char **)(puVar34 + -0x54) != '\0'" (pointer_expression "**(char **)(puVar34 + -0x54)" * (pointer_expression "*(char **)(puVar34 + -0x54)" * (cast_expression "(char **)(puVar34 + -0x54)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001918c;" goto statement_identifier ;)) (if_statement "if (iVar9 != 0) goto LAB_0001913c;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001913c;" goto statement_identifier ;)) }) (else_clause "else {\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }" else (compound_statement "{\n                    iVar9 = *(int *)(puVar34 + -0x48);\n                  }" { (expression_statement "iVar9 = *(int *)(puVar34 + -0x48);" (assignment_expression "iVar9 = *(int *)(puVar34 + -0x48)" identifier = (pointer_expression "*(int *)(puVar34 + -0x48)" * (cast_expression "(int *)(puVar34 + -0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x48)" ( (binary_expression "puVar34 + -0x48" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7cf4);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7cf4)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar34 + -0x1bc) = iVar9;" (assignment_expression "*(int *)(puVar34 + -0x1bc) = iVar9" (pointer_expression "*(int *)(puVar34 + -0x1bc)" * (cast_expression "(int *)(puVar34 + -0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-0x4c] = 1;" (assignment_expression "puVar34[-0x4c] = 1" (subscript_expression "puVar34[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4));" (assignment_expression "iVar12 = (*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4))" identifier = (call_expression "(*pcVar32)(*(undefined4 *)(puVar34 + -0x1c4))" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(*(undefined4 *)(puVar34 + -0x1c4))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0x1c4)" * (cast_expression "(undefined4 *)(puVar34 + -0x1c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c4)" ( (binary_expression "puVar34 + -0x1c4" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar34 + -0x1bc);" (assignment_expression "iVar9 = *(int *)(puVar34 + -0x1bc)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1bc)" * (cast_expression "(int *)(puVar34 + -0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != 0) {\n                    puVar34[-100] = 0;\n                  }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n                    puVar34[-100] = 0;\n                  }" { (expression_statement "puVar34[-100] = 0;" (assignment_expression "puVar34[-100] = 0" (subscript_expression "puVar34[-100]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar34[-0x58] = 1;" (assignment_expression "puVar34[-0x58] = 1" (subscript_expression "puVar34[-0x58]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto joined_r0x000186e4;" goto statement_identifier ;) })) (expression_statement "uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54));" (assignment_expression "uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54))" identifier = (call_expression "(**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x54))" (parenthesized_expression "(**(code **)(iVar7 + -0x7d94))" ( (pointer_expression "**(code **)(iVar7 + -0x7d94)" * (pointer_expression "*(code **)(iVar7 + -0x7d94)" * (cast_expression "(code **)(iVar7 + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d94)" ( (binary_expression "iVar7 + -0x7d94" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0x54))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0x54)" * (cast_expression "(undefined4 *)(puVar34 + -0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x50) = uVar22;" (assignment_expression "*(undefined4 *)(puVar34 + -0x50) = uVar22" (pointer_expression "*(undefined4 *)(puVar34 + -0x50)" * (cast_expression "(undefined4 *)(puVar34 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-0x4c] = 0;" (assignment_expression "puVar34[-0x4c] = 0" (subscript_expression "puVar34[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-0x58] = 1;" (assignment_expression "puVar34[-0x58] = 1" (subscript_expression "puVar34[-0x58]" identifier [ number_literal ]) = number_literal) ;) }))) })))) (if_statement "if (puVar34[-0x90] != '\0') {\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }" if (parenthesized_expression "(puVar34[-0x90] != '\0')" ( (binary_expression "puVar34[-0x90] != '\0'" (subscript_expression "puVar34[-0x90]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }\nLAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;\n              iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != 0;\nLAB_00018780:\n              if (bVar3) goto LAB_000188c0;\n              puVar34[-0x90] = 0;\n              puVar34[-0x58] = 0;\n              *(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);\n              pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));\n              *(byte **)(puVar34 + -0x54) = pbVar26;\n              iVar8 = iVar8 + 1;\n              goto LAB_000187b4;\n            }" { (expression_statement "iVar9 = *(int *)(puVar34 + -0x88);" (assignment_expression "iVar9 = *(int *)(puVar34 + -0x88)" identifier = (pointer_expression "*(int *)(puVar34 + -0x88)" * (cast_expression "(int *)(puVar34 + -0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x88)" ( (binary_expression "puVar34 + -0x88" identifier + number_literal) ))))) ;) (if_statement "if (puVar34[-0x84] != '\0') {\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }" if (parenthesized_expression "(puVar34[-0x84] != '\0')" ( (binary_expression "puVar34[-0x84] != '\0'" (subscript_expression "puVar34[-0x84]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                iVar12 = *(int *)(puVar34 + -0x80);\n                goto LAB_00018740;\n              }" { (expression_statement "iVar12 = *(int *)(puVar34 + -0x80);" (assignment_expression "iVar12 = *(int *)(puVar34 + -0x80)" identifier = (pointer_expression "*(int *)(puVar34 + -0x80)" * (cast_expression "(int *)(puVar34 + -0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x80)" ( (binary_expression "puVar34 + -0x80" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00018740;" goto statement_identifier ;) })) (labeled_statement "LAB_000188b4:\n              if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;" statement_identifier : (if_statement "if (iVar9 != *(int *)(puVar34 + -0x50)) goto LAB_000188c0;" if (parenthesized_expression "(iVar9 != *(int *)(puVar34 + -0x50))" ( (binary_expression "iVar9 != *(int *)(puVar34 + -0x50)" identifier != (pointer_expression "*(int *)(puVar34 + -0x50)" * (cast_expression "(int *)(puVar34 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000188c0;" goto statement_identifier ;))) (expression_statement "iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54));" (assignment_expression "iVar9 = (**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54))" identifier = (call_expression "(**(code **)(iVar7 + -0x7d10))\n                                (*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54))" (parenthesized_expression "(**(code **)(iVar7 + -0x7d10))" ( (pointer_expression "**(code **)(iVar7 + -0x7d10)" * (pointer_expression "*(code **)(iVar7 + -0x7d10)" * (cast_expression "(code **)(iVar7 + -0x7d10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d10)" ( (binary_expression "iVar7 + -0x7d10" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0x8c),*(undefined4 *)(puVar34 + -0x54))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0x8c)" * (cast_expression "(undefined4 *)(puVar34 + -0x8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x8c)" ( (binary_expression "puVar34 + -0x8c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar34 + -0x54)" * (cast_expression "(undefined4 *)(puVar34 + -0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "bVar3 = iVar9 != 0;" (assignment_expression "bVar3 = iVar9 != 0" identifier = (binary_expression "iVar9 != 0" identifier != number_literal)) ;) (labeled_statement "LAB_00018780:\n              if (bVar3) goto LAB_000188c0;" statement_identifier : (if_statement "if (bVar3) goto LAB_000188c0;" if (parenthesized_expression "(bVar3)" ( identifier )) (goto_statement "goto LAB_000188c0;" goto statement_identifier ;))) (expression_statement "puVar34[-0x90] = 0;" (assignment_expression "puVar34[-0x90] = 0" (subscript_expression "puVar34[-0x90]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-0x58] = 0;" (assignment_expression "puVar34[-0x58] = 0" (subscript_expression "puVar34[-0x58]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88);" (assignment_expression "*(int *)(puVar34 + -0x8c) = *(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88)" (pointer_expression "*(int *)(puVar34 + -0x8c)" * (cast_expression "(int *)(puVar34 + -0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x8c)" ( (binary_expression "puVar34 + -0x8c" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar34 + -0x8c) + *(int *)(puVar34 + -0x88)" (pointer_expression "*(int *)(puVar34 + -0x8c)" * (cast_expression "(int *)(puVar34 + -0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x8c)" ( (binary_expression "puVar34 + -0x8c" identifier + number_literal) )))) + (pointer_expression "*(int *)(puVar34 + -0x88)" * (cast_expression "(int *)(puVar34 + -0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x88)" ( (binary_expression "puVar34 + -0x88" identifier + number_literal) )))))) ;) (expression_statement "pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50));" (assignment_expression "pbVar26 = (byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50))" identifier = (cast_expression "(byte *)(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50))" ( (binary_expression "*(int *)(puVar34 + -0x54) + *(int *)(puVar34 + -0x50)" (pointer_expression "*(int *)(puVar34 + -0x54)" * (cast_expression "(int *)(puVar34 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) )))) + (pointer_expression "*(int *)(puVar34 + -0x50)" * (cast_expression "(int *)(puVar34 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) ))))) )))) ;) (expression_statement "*(byte **)(puVar34 + -0x54) = pbVar26;" (assignment_expression "*(byte **)(puVar34 + -0x54) = pbVar26" (pointer_expression "*(byte **)(puVar34 + -0x54)" * (cast_expression "(byte **)(puVar34 + -0x54)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x54)" ( (binary_expression "puVar34 + -0x54" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000187b4;" goto statement_identifier ;) })) (expression_statement "pbVar26 = *(byte **)(puVar34 + -0x8c);" (assignment_expression "pbVar26 = *(byte **)(puVar34 + -0x8c)" identifier = (pointer_expression "*(byte **)(puVar34 + -0x8c)" * (cast_expression "(byte **)(puVar34 + -0x8c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x8c)" ( (binary_expression "puVar34 + -0x8c" identifier + number_literal) ))))) ;) (if_statement "if (puVar34[-0x9c] == '\0') {\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }" if (parenthesized_expression "(puVar34[-0x9c] == '\0')" ( (binary_expression "puVar34[-0x9c] == '\0'" (subscript_expression "puVar34[-0x9c]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }\n              iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 == 0) goto LAB_00019168;\n              puVar34[-0x9c] = 1;\n            }" { (if_statement "if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }" if (parenthesized_expression "((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0)" ( (binary_expression "(*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1)" ( (binary_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f) & 1" (binary_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                   (*pbVar26 & 0x1f)" (pointer_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" * (cast_expression "(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" ( (binary_expression "*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4" (pointer_expression "*(int *)(puVar34 + -0x1c8)" * (cast_expression "(int *)(puVar34 + -0x1c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) )))) + (binary_expression "(uint)(*pbVar26 >> 5) * 4" (call_expression "(uint)(*pbVar26 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*pbVar26 >> 5)" ( (binary_expression "*pbVar26 >> 5" (pointer_expression "*pbVar26" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*pbVar26 & 0x1f)" ( (binary_expression "*pbVar26 & 0x1f" (pointer_expression "*pbVar26" * identifier) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = (int)(char)*pbVar26;\n                puVar34[-0x84] = 1;\n                puVar34[-0x90] = 1;\n                *(int *)(puVar34 + -0x80) = iVar12;\n                goto LAB_00018740;\n              }" { (expression_statement "*(undefined4 *)(puVar34 + -0x88) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x88) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x88)" * (cast_expression "(undefined4 *)(puVar34 + -0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x88)" ( (binary_expression "puVar34 + -0x88" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = (int)(char)*pbVar26;" (assignment_expression "iVar12 = (int)(char)*pbVar26" identifier = (cast_expression "(int)(char)*pbVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar26" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar26" * identifier)))) ;) (expression_statement "puVar34[-0x84] = 1;" (assignment_expression "puVar34[-0x84] = 1" (subscript_expression "puVar34[-0x84]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-0x90] = 1;" (assignment_expression "puVar34[-0x90] = 1" (subscript_expression "puVar34[-0x90]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(puVar34 + -0x80) = iVar12;" (assignment_expression "*(int *)(puVar34 + -0x80) = iVar12" (pointer_expression "*(int *)(puVar34 + -0x80)" * (cast_expression "(int *)(puVar34 + -0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x80)" ( (binary_expression "puVar34 + -0x80" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00018740;" goto statement_identifier ;) })) (expression_statement "iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31);" (assignment_expression "iVar9 = (**(code **)(iVar7 + -0x7cf4))(pmVar31)" identifier = (call_expression "(**(code **)(iVar7 + -0x7cf4))(pmVar31)" (parenthesized_expression "(**(code **)(iVar7 + -0x7cf4))" ( (pointer_expression "**(code **)(iVar7 + -0x7cf4)" * (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) )) (argument_list "(pmVar31)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 == 0) goto LAB_00019168;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019168;" goto statement_identifier ;)) (expression_statement "puVar34[-0x9c] = 1;" (assignment_expression "puVar34[-0x9c] = 1" (subscript_expression "puVar34[-0x9c]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "sVar6 = (**(code **)(iVar7 + -0x7d40))();" (assignment_expression "sVar6 = (**(code **)(iVar7 + -0x7d40))()" identifier = (call_expression "(**(code **)(iVar7 + -0x7d40))()" (parenthesized_expression "(**(code **)(iVar7 + -0x7d40))" ( (pointer_expression "**(code **)(iVar7 + -0x7d40)" * (pointer_expression "*(code **)(iVar7 + -0x7d40)" * (cast_expression "(code **)(iVar7 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d40)" ( (binary_expression "iVar7 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "sVar6 = strnlen1((char *)pbVar26,sVar6);" (assignment_expression "sVar6 = strnlen1((char *)pbVar26,sVar6)" identifier = (call_expression "strnlen1((char *)pbVar26,sVar6)" identifier (argument_list "((char *)pbVar26,sVar6)" ( (cast_expression "(char *)pbVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "pmVar19 = pwc;" (assignment_expression "pmVar19 = pwc" identifier = identifier) ;) (expression_statement "sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31);" (assignment_expression "sVar6 = rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31)" identifier = (call_expression "rpl_mbrtowc((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31)" identifier (argument_list "((wchar_t *)pwc,(char *)pbVar26,sVar6,pmVar31)" ( (cast_expression "(wchar_t *)pwc" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)pbVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(size_t *)(puVar34 + -0x88) = sVar6;" (assignment_expression "*(size_t *)(puVar34 + -0x88) = sVar6" (pointer_expression "*(size_t *)(puVar34 + -0x88)" * (cast_expression "(size_t *)(puVar34 + -0x88)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x88)" ( (binary_expression "puVar34 + -0x88" identifier + number_literal) )))) = identifier) ;) (if_statement "if (sVar6 == 0xffffffff) {\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }" if (parenthesized_expression "(sVar6 == 0xffffffff)" ( (binary_expression "sVar6 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n              puVar34[-0x84] = 0;\n              *(undefined4 *)(puVar34 + -0x88) = 1;\n              puVar34[-0x90] = 1;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              goto LAB_000188b4;\n            }" { (expression_statement "puVar34[-0x84] = 0;" (assignment_expression "puVar34[-0x84] = 0" (subscript_expression "puVar34[-0x84]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x88) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x88) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x88)" * (cast_expression "(undefined4 *)(puVar34 + -0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x88)" ( (binary_expression "puVar34 + -0x88" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar34[-0x90] = 1;" (assignment_expression "puVar34[-0x90] = 1" (subscript_expression "puVar34[-0x90]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar9 = *(int *)(puVar34 + -0x88);" (assignment_expression "iVar9 = *(int *)(puVar34 + -0x88)" identifier = (pointer_expression "*(int *)(puVar34 + -0x88)" * (cast_expression "(int *)(puVar34 + -0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x88)" ( (binary_expression "puVar34 + -0x88" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000188b4;" goto statement_identifier ;) })) (if_statement "if (sVar6 != 0xfffffffe) {\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }" if (parenthesized_expression "(sVar6 != 0xfffffffe)" ( (binary_expression "sVar6 != 0xfffffffe" identifier != number_literal) )) (compound_statement "{\n              if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }\n              pcVar32 = *(code **)(iVar7 + -0x7cf4);\n              puVar34[-0x84] = 1;\n              iVar9 = (*pcVar32)(pmVar31);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }\n              puVar34[-0x90] = 1;\nLAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;\n              iVar9 = *(int *)(puVar34 + -0x88);\n              if (puVar34[-0x4c] == '\0') goto LAB_000188b4;\n              iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);\n              iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              bVar3 = iVar9 != iVar12;\n              goto LAB_00018780;\n            }" { (if_statement "if (sVar6 == 0) {\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }\n              else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }" if (parenthesized_expression "(sVar6 == 0)" ( (binary_expression "sVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar34 + -0x88) = 1;\n                iVar12 = *(int *)(puVar34 + -0x80);\n                if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;\n                if (iVar12 != 0) goto LAB_0001913c;\n              }" { (expression_statement "*(undefined4 *)(puVar34 + -0x88) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x88) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x88)" * (cast_expression "(undefined4 *)(puVar34 + -0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x88)" ( (binary_expression "puVar34 + -0x88" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = *(int *)(puVar34 + -0x80);" (assignment_expression "iVar12 = *(int *)(puVar34 + -0x80)" identifier = (pointer_expression "*(int *)(puVar34 + -0x80)" * (cast_expression "(int *)(puVar34 + -0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x80)" ( (binary_expression "puVar34 + -0x80" identifier + number_literal) ))))) ;) (if_statement "if (**(char **)(puVar34 + -0x8c) != '\0') goto LAB_0001918c;" if (parenthesized_expression "(**(char **)(puVar34 + -0x8c) != '\0')" ( (binary_expression "**(char **)(puVar34 + -0x8c) != '\0'" (pointer_expression "**(char **)(puVar34 + -0x8c)" * (pointer_expression "*(char **)(puVar34 + -0x8c)" * (cast_expression "(char **)(puVar34 + -0x8c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x8c)" ( (binary_expression "puVar34 + -0x8c" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001918c;" goto statement_identifier ;)) (if_statement "if (iVar12 != 0) goto LAB_0001913c;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001913c;" goto statement_identifier ;)) }) (else_clause "else {\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }" else (compound_statement "{\n                iVar12 = *(int *)(puVar34 + -0x80);\n              }" { (expression_statement "iVar12 = *(int *)(puVar34 + -0x80);" (assignment_expression "iVar12 = *(int *)(puVar34 + -0x80)" identifier = (pointer_expression "*(int *)(puVar34 + -0x80)" * (cast_expression "(int *)(puVar34 + -0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x80)" ( (binary_expression "puVar34 + -0x80" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7cf4);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7cf4)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-0x84] = 1;" (assignment_expression "puVar34[-0x84] = 1" (subscript_expression "puVar34[-0x84]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar9 = (*pcVar32)(pmVar31);" (assignment_expression "iVar9 = (*pcVar32)(pmVar31)" identifier = (call_expression "(*pcVar32)(pmVar31)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(pmVar31)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 != 0) {\n                puVar34[-0x9c] = 0;\n              }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                puVar34[-0x9c] = 0;\n              }" { (expression_statement "puVar34[-0x9c] = 0;" (assignment_expression "puVar34[-0x9c] = 0" (subscript_expression "puVar34[-0x9c]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar34[-0x90] = 1;" (assignment_expression "puVar34[-0x90] = 1" (subscript_expression "puVar34[-0x90]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00018740:\n              if (iVar12 == 0) goto LAB_000182f0;" statement_identifier : (if_statement "if (iVar12 == 0) goto LAB_000182f0;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000182f0;" goto statement_identifier ;))) (expression_statement "iVar9 = *(int *)(puVar34 + -0x88);" (assignment_expression "iVar9 = *(int *)(puVar34 + -0x88)" identifier = (pointer_expression "*(int *)(puVar34 + -0x88)" * (cast_expression "(int *)(puVar34 + -0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x88)" ( (binary_expression "puVar34 + -0x88" identifier + number_literal) ))))) ;) (if_statement "if (puVar34[-0x4c] == '\0') goto LAB_000188b4;" if (parenthesized_expression "(puVar34[-0x4c] == '\0')" ( (binary_expression "puVar34[-0x4c] == '\0'" (subscript_expression "puVar34[-0x4c]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000188b4;" goto statement_identifier ;)) (expression_statement "iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12);" (assignment_expression "iVar9 = (**(code **)(iVar7 + -0x7cfc))(iVar12)" identifier = (call_expression "(**(code **)(iVar7 + -0x7cfc))(iVar12)" (parenthesized_expression "(**(code **)(iVar7 + -0x7cfc))" ( (pointer_expression "**(code **)(iVar7 + -0x7cfc)" * (pointer_expression "*(code **)(iVar7 + -0x7cfc)" * (cast_expression "(code **)(iVar7 + -0x7cfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cfc)" ( (binary_expression "iVar7 + -0x7cfc" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier )))) ;) (expression_statement "iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48));" (assignment_expression "iVar12 = (**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48))" identifier = (call_expression "(**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))\n                                 (*(undefined4 *)(puVar34 + -0x48))" (parenthesized_expression "(**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc))" ( (pointer_expression "**(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc)" * (pointer_expression "*(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc)" * (cast_expression "(code **)(*(int *)(puVar34 + -0x1d0) + -0x7cfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar34 + -0x1d0) + -0x7cfc)" ( (binary_expression "*(int *)(puVar34 + -0x1d0) + -0x7cfc" (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0x48))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0x48)" * (cast_expression "(undefined4 *)(puVar34 + -0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x48)" ( (binary_expression "puVar34 + -0x48" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "bVar3 = iVar9 != iVar12;" (assignment_expression "bVar3 = iVar9 != iVar12" identifier = (binary_expression "iVar9 != iVar12" identifier != identifier)) ;) (goto_statement "goto LAB_00018780;" goto statement_identifier ;) })) (expression_statement "uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c));" (assignment_expression "uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c))" identifier = (call_expression "(**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0x8c))" (parenthesized_expression "(**(code **)(iVar7 + -0x7d94))" ( (pointer_expression "**(code **)(iVar7 + -0x7d94)" * (pointer_expression "*(code **)(iVar7 + -0x7d94)" * (cast_expression "(code **)(iVar7 + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d94)" ( (binary_expression "iVar7 + -0x7d94" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0x8c))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0x8c)" * (cast_expression "(undefined4 *)(puVar34 + -0x8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x8c)" ( (binary_expression "puVar34 + -0x8c" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x88) = uVar22;" (assignment_expression "*(undefined4 *)(puVar34 + -0x88) = uVar22" (pointer_expression "*(undefined4 *)(puVar34 + -0x88)" * (cast_expression "(undefined4 *)(puVar34 + -0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x88)" ( (binary_expression "puVar34 + -0x88" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-0x84] = 0;" (assignment_expression "puVar34[-0x84] = 0" (subscript_expression "puVar34[-0x84]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-0x90] = 1;" (assignment_expression "puVar34[-0x90] = 1" (subscript_expression "puVar34[-0x90]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)) {\n              FUN_0001896c();\n              return;\n            }" if (parenthesized_expression "(*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50))" ( (binary_expression "*(int *)(puVar34 + -0x88) == *(int *)(puVar34 + -0x50)" (pointer_expression "*(int *)(puVar34 + -0x88)" * (cast_expression "(int *)(puVar34 + -0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x88)" ( (binary_expression "puVar34 + -0x88" identifier + number_literal) )))) == (pointer_expression "*(int *)(puVar34 + -0x50)" * (cast_expression "(int *)(puVar34 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x50)" ( (binary_expression "puVar34 + -0x50" identifier + number_literal) ))))) )) (compound_statement "{\n              FUN_0001896c();\n              return;\n            }" { (expression_statement "FUN_0001896c();" (call_expression "FUN_0001896c()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_000188c0:\n            iVar9 = *(int *)(puVar34 + -0xc0);" statement_identifier : (expression_statement "iVar9 = *(int *)(puVar34 + -0xc0);" (assignment_expression "iVar9 = *(int *)(puVar34 + -0xc0)" identifier = (pointer_expression "*(int *)(puVar34 + -0xc0)" * (cast_expression "(int *)(puVar34 + -0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc0)" ( (binary_expression "puVar34 + -0xc0" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000188c4:\n            iVar12 = *(int *)(puVar34 + -0xc4);" statement_identifier : (expression_statement "iVar12 = *(int *)(puVar34 + -0xc4);" (assignment_expression "iVar12 = *(int *)(puVar34 + -0xc4)" identifier = (pointer_expression "*(int *)(puVar34 + -0xc4)" * (cast_expression "(int *)(puVar34 + -0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc4)" ( (binary_expression "puVar34 + -0xc4" identifier + number_literal) ))))) ;)) }))) (expression_statement "*(int *)(puVar34 + -0x1bc) = iVar8;" (assignment_expression "*(int *)(puVar34 + -0x1bc) = iVar8" (pointer_expression "*(int *)(puVar34 + -0x1bc)" * (cast_expression "(int *)(puVar34 + -0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) )))) = identifier) ;) (expression_statement "pbVar26 = (byte *)(iVar12 + iVar9);" (assignment_expression "pbVar26 = (byte *)(iVar12 + iVar9)" identifier = (cast_expression "(byte *)(iVar12 + iVar9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar9)" ( (binary_expression "iVar12 + iVar9" identifier + identifier) )))) ;) (expression_statement "puVar34[-200] = 0;" (assignment_expression "puVar34[-200] = 0" (subscript_expression "puVar34[-200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte **)(puVar34 + -0xc4) = pbVar26;" (assignment_expression "*(byte **)(puVar34 + -0xc4) = pbVar26" (pointer_expression "*(byte **)(puVar34 + -0xc4)" * (cast_expression "(byte **)(puVar34 + -0xc4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xc4)" ( (binary_expression "puVar34 + -0xc4" identifier + number_literal) )))) = identifier) ;) (if_statement "if (puVar34[-0xd4] == '\0') {\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }\n          else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }" if (parenthesized_expression "(puVar34[-0xd4] == '\0')" ( (binary_expression "puVar34[-0xd4] == '\0'" (subscript_expression "puVar34[-0xd4]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }\n            *(undefined4 *)(puVar34 + -0xc0) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xbc] = 1;\n            puVar34[-200] = 1;\n            *(int *)(puVar34 + -0xb8) = iVar8;\nLAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;\n          }" { (labeled_statement "LAB_000184f0:\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }" statement_identifier : (if_statement "if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0) {\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }" if (parenthesized_expression "((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1)" ( (binary_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1" (binary_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f)" (pointer_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" * (cast_expression "(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" ( (binary_expression "*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4" (pointer_expression "*(int *)(puVar34 + -0x1c8)" * (cast_expression "(int *)(puVar34 + -0x1c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) )))) + (binary_expression "(uint)(*pbVar26 >> 5) * 4" (call_expression "(uint)(*pbVar26 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*pbVar26 >> 5)" ( (binary_expression "*pbVar26 >> 5" (pointer_expression "*pbVar26" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*pbVar26 & 0x1f)" ( (binary_expression "*pbVar26 & 0x1f" (pointer_expression "*pbVar26" * identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              pmVar35 = pwc;\n              if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }\n              goto LAB_00019168;\n            }" { (expression_statement "iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6);" (assignment_expression "iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s6)" identifier = (call_expression "(**(code **)(iVar7 + -0x7cf4))(unaff_s6)" (parenthesized_expression "(**(code **)(iVar7 + -0x7cf4))" ( (pointer_expression "**(code **)(iVar7 + -0x7cf4)" * (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "pmVar35 = pwc;" (assignment_expression "pmVar35 = pwc" identifier = identifier) ;) (if_statement "if (iVar8 != 0) {\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                puVar34[-0xd4] = 1;\n                goto LAB_000188e0;\n              }" { (expression_statement "puVar34[-0xd4] = 1;" (assignment_expression "puVar34[-0xd4] = 1" (subscript_expression "puVar34[-0xd4]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000188e0;" goto statement_identifier ;) })) (goto_statement "goto LAB_00019168;" goto statement_identifier ;) }))) (expression_statement "*(undefined4 *)(puVar34 + -0xc0) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0xc0) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0xc0)" * (cast_expression "(undefined4 *)(puVar34 + -0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc0)" ( (binary_expression "puVar34 + -0xc0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = (int)(char)*pbVar26;" (assignment_expression "iVar8 = (int)(char)*pbVar26" identifier = (cast_expression "(int)(char)*pbVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar26" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar26" * identifier)))) ;) (expression_statement "puVar34[-0xbc] = 1;" (assignment_expression "puVar34[-0xbc] = 1" (subscript_expression "puVar34[-0xbc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-200] = 1;" (assignment_expression "puVar34[-200] = 1" (subscript_expression "puVar34[-200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(puVar34 + -0xb8) = iVar8;" (assignment_expression "*(int *)(puVar34 + -0xb8) = iVar8" (pointer_expression "*(int *)(puVar34 + -0xb8)" * (cast_expression "(int *)(puVar34 + -0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xb8)" ( (binary_expression "puVar34 + -0xb8" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_00018530:\n            if (iVar8 == 0) goto LAB_000182f0;" statement_identifier : (if_statement "if (iVar8 == 0) goto LAB_000182f0;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000182f0;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }" else (compound_statement "{\nLAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();\n            sVar6 = strnlen1((char *)pbVar26,sVar6);\n            pmVar19 = unaff_s7;\n            sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            *(size_t *)(puVar34 + -0xc0) = sVar6;\n            if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }\n          }" { (labeled_statement "LAB_000188e0:\n            sVar6 = (**(code **)(iVar7 + -0x7d40))();" statement_identifier : (expression_statement "sVar6 = (**(code **)(iVar7 + -0x7d40))();" (assignment_expression "sVar6 = (**(code **)(iVar7 + -0x7d40))()" identifier = (call_expression "(**(code **)(iVar7 + -0x7d40))()" (parenthesized_expression "(**(code **)(iVar7 + -0x7d40))" ( (pointer_expression "**(code **)(iVar7 + -0x7d40)" * (pointer_expression "*(code **)(iVar7 + -0x7d40)" * (cast_expression "(code **)(iVar7 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d40)" ( (binary_expression "iVar7 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (expression_statement "sVar6 = strnlen1((char *)pbVar26,sVar6);" (assignment_expression "sVar6 = strnlen1((char *)pbVar26,sVar6)" identifier = (call_expression "strnlen1((char *)pbVar26,sVar6)" identifier (argument_list "((char *)pbVar26,sVar6)" ( (cast_expression "(char *)pbVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "pmVar19 = unaff_s7;" (assignment_expression "pmVar19 = unaff_s7" identifier = identifier) ;) (expression_statement "sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6);" (assignment_expression "sVar6 = rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6)" identifier = (call_expression "rpl_mbrtowc((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6)" identifier (argument_list "((wchar_t *)unaff_s7,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s6)" ( (cast_expression "(wchar_t *)unaff_s7" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)pbVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(mbstate_t *)unaff_s6" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(size_t *)(puVar34 + -0xc0) = sVar6;" (assignment_expression "*(size_t *)(puVar34 + -0xc0) = sVar6" (pointer_expression "*(size_t *)(puVar34 + -0xc0)" * (cast_expression "(size_t *)(puVar34 + -0xc0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc0)" ( (binary_expression "puVar34 + -0xc0" identifier + number_literal) )))) = identifier) ;) (if_statement "if (sVar6 == 0xffffffff) {\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }\n            else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }" if (parenthesized_expression "(sVar6 == 0xffffffff)" ( (binary_expression "sVar6 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n              puVar34[-0xbc] = 0;\n              *(undefined4 *)(puVar34 + -0xc0) = 1;\n              puVar34[-200] = 1;\n            }" { (expression_statement "puVar34[-0xbc] = 0;" (assignment_expression "puVar34[-0xbc] = 0" (subscript_expression "puVar34[-0xbc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0xc0) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0xc0) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0xc0)" * (cast_expression "(undefined4 *)(puVar34 + -0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc0)" ( (binary_expression "puVar34 + -0xc0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar34[-200] = 1;" (assignment_expression "puVar34[-200] = 1" (subscript_expression "puVar34[-200]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }" else (compound_statement "{\n              if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }\n              uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));\n              iVar7 = *(int *)(puVar34 + -0x1d0);\n              *(undefined4 *)(puVar34 + -0xc0) = uVar22;\n              puVar34[-0xbc] = 0;\n              puVar34[-200] = 1;\n            }" { (if_statement "if (sVar6 != 0xfffffffe) {\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }" if (parenthesized_expression "(sVar6 != 0xfffffffe)" ( (binary_expression "sVar6 != 0xfffffffe" identifier != number_literal) )) (compound_statement "{\n                if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }\n                pcVar32 = *(code **)(iVar7 + -0x7cf4);\n                puVar34[-0xbc] = 1;\n                iVar9 = (*pcVar32)(unaff_s6);\n                iVar7 = *(int *)(puVar34 + -0x1d0);\n                if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }\n                puVar34[-200] = 1;\n                goto LAB_00018530;\n              }" { (if_statement "if (sVar6 == 0) {\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }\n                else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }" if (parenthesized_expression "(sVar6 == 0)" ( (binary_expression "sVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                  *(undefined4 *)(puVar34 + -0xc0) = 1;\n                  iVar8 = *(int *)(iVar7 + -0x7fb0);\n                  pmVar15 = pwc;\n                  if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                  if (iVar8 != 0) goto LAB_0001913c;\n                }" { (expression_statement "*(undefined4 *)(puVar34 + -0xc0) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0xc0) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0xc0)" * (cast_expression "(undefined4 *)(puVar34 + -0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc0)" ( (binary_expression "puVar34 + -0xc0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = *(int *)(iVar7 + -0x7fb0);" (assignment_expression "iVar8 = *(int *)(iVar7 + -0x7fb0)" identifier = (pointer_expression "*(int *)(iVar7 + -0x7fb0)" * (cast_expression "(int *)(iVar7 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fb0)" ( (binary_expression "iVar7 + -0x7fb0" identifier + number_literal) ))))) ;) (expression_statement "pmVar15 = pwc;" (assignment_expression "pmVar15 = pwc" identifier = identifier) ;) (if_statement "if (**(char **)(puVar34 + -0xc4) != '\0') goto LAB_00019190;" if (parenthesized_expression "(**(char **)(puVar34 + -0xc4) != '\0')" ( (binary_expression "**(char **)(puVar34 + -0xc4) != '\0'" (pointer_expression "**(char **)(puVar34 + -0xc4)" * (pointer_expression "*(char **)(puVar34 + -0xc4)" * (cast_expression "(char **)(puVar34 + -0xc4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xc4)" ( (binary_expression "puVar34 + -0xc4" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00019190;" goto statement_identifier ;)) (expression_statement "iVar8 = *(int *)(puVar34 + -0xb8);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0xb8)" identifier = (pointer_expression "*(int *)(puVar34 + -0xb8)" * (cast_expression "(int *)(puVar34 + -0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xb8)" ( (binary_expression "puVar34 + -0xb8" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 != 0) goto LAB_0001913c;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001913c;" goto statement_identifier ;)) }) (else_clause "else {\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }" else (compound_statement "{\n                  iVar8 = *(int *)(puVar34 + -0xb8);\n                }" { (expression_statement "iVar8 = *(int *)(puVar34 + -0xb8);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0xb8)" identifier = (pointer_expression "*(int *)(puVar34 + -0xb8)" * (cast_expression "(int *)(puVar34 + -0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xb8)" ( (binary_expression "puVar34 + -0xb8" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7cf4);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7cf4)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-0xbc] = 1;" (assignment_expression "puVar34[-0xbc] = 1" (subscript_expression "puVar34[-0xbc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar9 = (*pcVar32)(unaff_s6);" (assignment_expression "iVar9 = (*pcVar32)(unaff_s6)" identifier = (call_expression "(*pcVar32)(unaff_s6)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 != 0) {\n                  puVar34[-0xd4] = 0;\n                }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                  puVar34[-0xd4] = 0;\n                }" { (expression_statement "puVar34[-0xd4] = 0;" (assignment_expression "puVar34[-0xd4] = 0" (subscript_expression "puVar34[-0xd4]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar34[-200] = 1;" (assignment_expression "puVar34[-200] = 1" (subscript_expression "puVar34[-200]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00018530;" goto statement_identifier ;) })) (expression_statement "uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4));" (assignment_expression "uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4))" identifier = (call_expression "(**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xc4))" (parenthesized_expression "(**(code **)(iVar7 + -0x7d94))" ( (pointer_expression "**(code **)(iVar7 + -0x7d94)" * (pointer_expression "*(code **)(iVar7 + -0x7d94)" * (cast_expression "(code **)(iVar7 + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d94)" ( (binary_expression "iVar7 + -0x7d94" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0xc4))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0xc4)" * (cast_expression "(undefined4 *)(puVar34 + -0xc4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc4)" ( (binary_expression "puVar34 + -0xc4" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0xc0) = uVar22;" (assignment_expression "*(undefined4 *)(puVar34 + -0xc0) = uVar22" (pointer_expression "*(undefined4 *)(puVar34 + -0xc0)" * (cast_expression "(undefined4 *)(puVar34 + -0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc0)" ( (binary_expression "puVar34 + -0xc0" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-0xbc] = 0;" (assignment_expression "puVar34[-0xbc] = 0" (subscript_expression "puVar34[-0xbc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-200] = 1;" (assignment_expression "puVar34[-200] = 1" (subscript_expression "puVar34[-200]" identifier [ number_literal ]) = number_literal) ;) }))) }))) (expression_statement "iVar8 = *(int *)(puVar34 + -0x1c0);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x1c0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1c0)" * (cast_expression "(int *)(puVar34 + -0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(int *)(puVar34 + -0x1b4) == 0)" ( (binary_expression "*(int *)(puVar34 + -0x1b4) == 0" (pointer_expression "*(int *)(puVar34 + -0x1b4)" * (cast_expression "(int *)(puVar34 + -0x1b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b4)" ( (binary_expression "puVar34 + -0x1b4" identifier + number_literal) )))) == number_literal) )) ;) (expression_statement "iVar8 = *(int *)(puVar34 + -0x1c0);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0x1c0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1c0)" * (cast_expression "(int *)(puVar34 + -0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(uint *)(puVar34 + -0x1c0) < 10)" ( (binary_expression "*(uint *)(puVar34 + -0x1c0) < 10" (pointer_expression "*(uint *)(puVar34 + -0x1c0)" * (cast_expression "(uint *)(puVar34 + -0x1c0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) )))) < number_literal) )) ;) }) while (parenthesized_expression "(*(uint *)(puVar34 + -0x1bc) < *(uint *)(puVar34 + -0x1c0) * 5)" ( (binary_expression "*(uint *)(puVar34 + -0x1bc) < *(uint *)(puVar34 + -0x1c0) * 5" (pointer_expression "*(uint *)(puVar34 + -0x1bc)" * (cast_expression "(uint *)(puVar34 + -0x1bc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) )))) < (binary_expression "*(uint *)(puVar34 + -0x1c0) * 5" (pointer_expression "*(uint *)(puVar34 + -0x1c0)" * (cast_expression "(uint *)(puVar34 + -0x1c0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c0)" ( (binary_expression "puVar34 + -0x1c0" identifier + number_literal) )))) * number_literal)) )) ;)) (expression_statement "iVar9 = *(uint *)(puVar34 + -0x1bc) - *(int *)(puVar34 + -0x1ac);" (assignment_expression "iVar9 = *(uint *)(puVar34 + -0x1bc) - *(int *)(puVar34 + -0x1ac)" identifier = (binary_expression "*(uint *)(puVar34 + -0x1bc) - *(int *)(puVar34 + -0x1ac)" (pointer_expression "*(uint *)(puVar34 + -0x1bc)" * (cast_expression "(uint *)(puVar34 + -0x1bc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) )))) - (pointer_expression "*(int *)(puVar34 + -0x1ac)" * (cast_expression "(int *)(puVar34 + -0x1ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1ac)" ( (binary_expression "puVar34 + -0x1ac" identifier + number_literal) )))))) ;) (expression_statement "uVar16 = (uint)(byte)puVar34[-0x100];" (assignment_expression "uVar16 = (uint)(byte)puVar34[-0x100]" identifier = (cast_expression "(uint)(byte)puVar34[-0x100]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar34[-0x100]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar34[-0x100]" identifier [ number_literal ])))) ;) (if_statement "if (iVar9 == 0) goto LAB_00019144;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019144;" goto statement_identifier ;)) (if_statement "if (uVar16 == 0) {\n      pbVar26 = *(byte **)(puVar34 + -0xfc);\n      goto LAB_00018c10;\n    }" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (compound_statement "{\n      pbVar26 = *(byte **)(puVar34 + -0xfc);\n      goto LAB_00018c10;\n    }" { (expression_statement "pbVar26 = *(byte **)(puVar34 + -0xfc);" (assignment_expression "pbVar26 = *(byte **)(puVar34 + -0xfc)" identifier = (pointer_expression "*(byte **)(puVar34 + -0xfc)" * (cast_expression "(byte **)(puVar34 + -0xfc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xfc)" ( (binary_expression "puVar34 + -0xfc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00018c10;" goto statement_identifier ;) })) (expression_statement "iVar8 = *(int *)(puVar34 + -0xf0);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0xf0)" identifier = (pointer_expression "*(int *)(puVar34 + -0xf0)" * (cast_expression "(int *)(puVar34 + -0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf0)" ( (binary_expression "puVar34 + -0xf0" identifier + number_literal) ))))) ;) (if_statement "if (puVar34[-0xf4] != '\0') goto LAB_00018c58;" if (parenthesized_expression "(puVar34[-0xf4] != '\0')" ( (binary_expression "puVar34[-0xf4] != '\0'" (subscript_expression "puVar34[-0xf4]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00018c58;" goto statement_identifier ;)) (do_statement "do {\n      pcVar29 = *(char **)(puVar34 + -0xfc);\n      while( true ) {\n        while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }\n        pcVar29 = *(char **)(puVar34 + -0xfc);\n        if (sVar6 != 0xfffffffe) break;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n        puVar34[-0xf4] = 0;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (*pcVar29 != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-0xf4] = 1;\n      iVar12 = (*pcVar32)(unaff_s3);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar12 != 0) {\n        puVar34[-0x10c] = 0;\n      }\n      puVar34[-0x100] = 1;\nLAB_00018c58:\n    } while (iVar8 != 0);\n    uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n    if (puVar34[-0x100] == '\0') {\nLAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);\n      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;\n      *(uint *)(puVar34 + -0x1b4) = uVar16;\n      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n      goto LAB_0001856c;\n    }\n  }\n  goto LAB_000182f0;\nLAB_000177b8:\n  acStack_ec[4] = '\x01';\n  pcStack_128[4] = '\0';\n  pcStack_128[5] = '\0';\n  pcStack_128[6] = '\0';\n  pcStack_128[7] = '\x01';\n  if ((undefined1 *)0x2 < puStack_138) {\n    unaff_s3 = (mbuiter_multi *)0x0;\n    unaff_s7 = (mbuiter_multi *)0x2;\n    pmVar15 = pmStack_124;\nLAB_000177e0:\n    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);\n    cVar14 = (pmVar15->cur).buf[0x10];\n    do {\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    } while( true );\n  }\nLAB_0001787c:\n  unaff_s0 = (mbuiter_multi *)(auStack_d4 + 0x1c);\n  unaff_s6 = (mbuiter_multi *)auStack_80;\n  in_t5 = (mbuiter_multi *)0x0;\n  auStack_d4._28_4_ = 0;\n  iStack_12c = *(int *)(pcVar32 + -0x7ef4);\n  unaff_s5 = apmStack_68;\n  unaff_s1 = (mbuiter_multi *)(apmStack_68 + 1);\n  unaff_s4 = (mbuiter_multi *)auStack_10c;\n  uStack_b4 = 0;\n  pmVar28 = (mbuiter_multi *)apmStack_a0;\n  auStack_80._0_4_ = 0;\n  pmStack_ac = pmStack_130;\n  *(undefined4 *)auStack_158._24_4_ = 0;\n  auStack_80._4_4_ = 0;\n  auStack_d4[0x18] = '\0';\n  cStack_b0 = '\0';\n  auStack_80._12_4_ = pmStack_130;\n  cStack_84 = '\0';\n  auStack_80[8] = '\0';\njoined_r0x000178d8:\n  if (auStack_80[8] == '\0') goto LAB_00017974;\n  pmVar15 = (mbuiter_multi *)(uint)bStack_6c;\n  pmVar4 = apmStack_68[0];\n  if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_000178f4;\njoined_r0x000178ec:\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (pmVar4 != (mbuiter_multi *)0x0) {\nLAB_000178f4:\n    unaff_s7 = pmStack_70;\n    if ((mbuiter_multi *)auStack_80._12_4_ == unaff_s1) goto LAB_00017ea0;\n    pmStack_11c = (mbuiter_multi *)auStack_80._12_4_;\nLAB_00017904:\n    pmStack_118 = unaff_s7;\n    uStack_114 = (char)pmVar15;\n    unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8);\n    pmVar25 = (mbuiter_multi *)((int)in_t5 * 4);\n    if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_00017af0;\n    pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4);\n    pmStack_130 = in_t5;\n    iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0]);\n    pmVar25 = pmStack_134;\n    in_t5 = pmStack_130;\n    pcVar32 = (code *)auStack_158._16_4_;\n    if (((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')\n    goto LAB_00017af0;\n    pmVar15 = pmVar19;\n    if (iStack_110 != *(int *)&unaff_s3->next_done) goto LAB_00017afc;\n    in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n    auStack_80[8] = '\0';\n    auStack_80._12_4_ =\n         (mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n    pmVar19 = pmVar28;\n    if ((mbuiter_multi *)puStack_138 != in_t5) {\nLAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);\n      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;\n      if (cStack_84 != '\0') goto LAB_00017b90;\n      while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }\n      pmStack_70 = (mbuiter_multi *)0x1;\n      bStack_6c = 1;\n      auStack_80[8] = '\x01';\n      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      goto joined_r0x000178ec;\n    }\nLAB_00017c74:\n    auStack_80[8] = '\0';\n    *(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac;\n    freea(pmStack_124);\n    goto LAB_000179e4;\n  }\n  freea(pmStack_124);\n  unaff_s3 = (mbuiter_multi *)0x0;\n  pmVar15 = pmVar19;\n  pmVar19 = pmVar28;\n  goto LAB_000179e4;\nLAB_00017eec:\n  *(mbuiter_multi **)(pcStack_128 + (int)unaff_s7 * 4) = unaff_s7;\nLAB_0001786c:\n  unaff_s7 = (mbuiter_multi *)((int)unaff_s7 + 1);\n  pmVar15 = pmVar28;\n  if ((mbuiter_multi *)puStack_138 == unaff_s7) goto LAB_0001787c;\n  goto LAB_000177e0;\nLAB_00017d5c:\n  (*pcVar33)();\nLAB_00017d64:\n  iVar7 = (*pcVar33)(unaff_s0);\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (iVar7 == 0) goto LAB_000180a8;\n  auStack_d4[0x18] = '\x01';\n  pmVar15 = unaff_s3;\nLAB_00017d7c:\n  sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n  sVar6 = strnlen1(&pmVar15->in_shift,sVar6);\n  puStack_a8 = (undefined1 *)\n               rpl_mbrtowc((wchar_t *)pmVar28,&pmVar15->in_shift,sVar6,(mbstate_t *)unaff_s0);\n  unaff_s3 = apmStack_a0[0];\n  pmVar19 = pmStack_ac;\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (puStack_a8 == (undefined1 *)0xffffffff) {\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_a4 = '\0';\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)&pmStack_ac->field_0x1;\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 != (mbuiter_multi *)0x0) goto LAB_00017d0c;\nLAB_00017e34:\n    cStack_b0 = '\0';\n    pmVar19 = pmVar15;\n    in_t5 = pmStack_130;\n    pmStack_ac = unaff_s3;\n    goto joined_r0x000178d8;\n  }\n  if (puStack_a8 == &SUB_fffffffe) {\n    puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n    cStack_a4 = '\0';\n    pmStack_ac = pmVar19;\n    pcVar32 = (code *)auStack_158._16_4_;\n    goto LAB_00017cf4;\n  }\n  if (puStack_a8 == (undefined1 *)0x0) {\n    puStack_a8 = (undefined1 *)0x1;\n    if (pmStack_ac->in_shift != false) goto LAB_00018084;\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n    if (apmStack_a0[0] != (mbuiter_multi *)0x0) goto code_r0x00017e7c;\n  }\n  else {\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n  }\n  cStack_a4 = '\x01';\n  iVar7 = (*pcVar33)(unaff_s0);\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (iVar7 != 0) {\n    auStack_d4[0x18] = '\0';\n  }\n  cStack_b0 = '\x01';\n  pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017d54:\n  while( true )" do (ERROR "{\n      pcVar29 = *(char **)(puVar34 + -0xfc);\n      while( true ) {\n        while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }\n        pcVar29 = *(char **)(puVar34 + -0xfc);\n        if (sVar6 != 0xfffffffe) break;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n        puVar34[-0xf4] = 0;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (*pcVar29 != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-0xf4] = 1;\n      iVar12 = (*pcVar32)(unaff_s3);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar12 != 0) {\n        puVar34[-0x10c] = 0;\n      }\n      puVar34[-0x100] = 1;\nLAB_00018c58:\n    } while (iVar8 != 0);\n    uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n    if (puVar34[-0x100] == '\0') {\nLAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);\n      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;\n      *(uint *)(puVar34 + -0x1b4) = uVar16;\n      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n      goto LAB_0001856c;\n    }\n  }\n  goto LAB_000182f0;\nLAB_000177b8:\n  acStack_ec[4] = '\x01';\n  pcStack_128[4] = '\0';\n  pcStack_128[5] = '\0';\n  pcStack_128[6] = '\0';\n  pcStack_128[7] = '\x01';\n  if ((undefined1 *)0x2 < puStack_138) {\n    unaff_s3 = (mbuiter_multi *)0x0;\n    unaff_s7 = (mbuiter_multi *)0x2;\n    pmVar15 = pmStack_124;\nLAB_000177e0:\n    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);\n    cVar14 = (pmVar15->cur).buf[0x10];\n    do {\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    } while( true );\n  }\nLAB_0001787c:\n  unaff_s0 = (mbuiter_multi *)(auStack_d4 + 0x1c);\n  unaff_s6 = (mbuiter_multi *)auStack_80;\n  in_t5 = (mbuiter_multi *)0x0;\n  auStack_d4._28_4_ = 0;\n  iStack_12c = *(int *)(pcVar32 + -0x7ef4);\n  unaff_s5 = apmStack_68;\n  unaff_s1 = (mbuiter_multi *)(apmStack_68 + 1);\n  unaff_s4 = (mbuiter_multi *)auStack_10c;\n  uStack_b4 = 0;\n  pmVar28 = (mbuiter_multi *)apmStack_a0;\n  auStack_80._0_4_ = 0;\n  pmStack_ac = pmStack_130;\n  *(undefined4 *)auStack_158._24_4_ = 0;\n  auStack_80._4_4_ = 0;\n  auStack_d4[0x18] = '\0';\n  cStack_b0 = '\0';\n  auStack_80._12_4_ = pmStack_130;\n  cStack_84 = '\0';\n  auStack_80[8] = '\0';\njoined_r0x000178d8:\n  if (auStack_80[8] == '\0') goto LAB_00017974;\n  pmVar15 = (mbuiter_multi *)(uint)bStack_6c;\n  pmVar4 = apmStack_68[0];\n  if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_000178f4;\njoined_r0x000178ec:\n  pmVar15 = (mbuiter_multi *)0x1;" (compound_statement "{\n      pcVar29 = *(char **)(puVar34 + -0xfc);\n      while( true ) {\n        while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }\n        pcVar29 = *(char **)(puVar34 + -0xfc);\n        if (sVar6 != 0xfffffffe) break;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n        puVar34[-0xf4] = 0;\n      }\n      if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (*pcVar29 != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }\n      pcVar32 = *(code **)(iVar7 + -0x7cf4);\n      puVar34[-0xf4] = 1;\n      iVar12 = (*pcVar32)(unaff_s3);\n      iVar7 = *(int *)(puVar34 + -0x1d0);\n      if (iVar12 != 0) {\n        puVar34[-0x10c] = 0;\n      }\n      puVar34[-0x100] = 1;\nLAB_00018c58:\n    } while (iVar8 != 0);\n    uVar22 = *(undefined4 *)(puVar34 + -0x1b8);\n    if (puVar34[-0x100] == '\0') {\nLAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);\n      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;\n      *(uint *)(puVar34 + -0x1b4) = uVar16;\n      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n      goto LAB_0001856c;\n    }\n  }" { (expression_statement "pcVar29 = *(char **)(puVar34 + -0xfc);" (assignment_expression "pcVar29 = *(char **)(puVar34 + -0xfc)" identifier = (pointer_expression "*(char **)(puVar34 + -0xfc)" * (cast_expression "(char **)(puVar34 + -0xfc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xfc)" ( (binary_expression "puVar34 + -0xfc" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n        while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }\n        pcVar29 = *(char **)(puVar34 + -0xfc);\n        if (sVar6 != 0xfffffffe) break;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n        puVar34[-0xf4] = 0;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }\n        pcVar29 = *(char **)(puVar34 + -0xfc);\n        if (sVar6 != 0xfffffffe) break;\n        uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n        puVar34[-0xf4] = 0;\n      }" { (while_statement "while( true ) {\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar9 = iVar9 + -1;\n          puVar34[-0x100] = 0;\n          pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));\n          *(byte **)(puVar34 + -0xfc) = pbVar26;\n          if (iVar9 == 0) goto LAB_00018e4c;\nLAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }\n          sVar6 = (**(code **)(iVar7 + -0x7d40))();\n          sVar6 = strnlen1((char *)pbVar26,sVar6);\n          pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n          sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          *(size_t *)(puVar34 + -0xf8) = sVar6;\n          if (sVar6 != 0xffffffff) break;\n          pcVar29 = *(char **)(puVar34 + -0xfc);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n        }" { (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "puVar34[-0x100] = 0;" (assignment_expression "puVar34[-0x100] = 0" (subscript_expression "puVar34[-0x100]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8));" (assignment_expression "pbVar26 = (byte *)(pcVar29 + *(int *)(puVar34 + -0xf8))" identifier = (cast_expression "(byte *)(pcVar29 + *(int *)(puVar34 + -0xf8))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + *(int *)(puVar34 + -0xf8))" ( (binary_expression "pcVar29 + *(int *)(puVar34 + -0xf8)" identifier + (pointer_expression "*(int *)(puVar34 + -0xf8)" * (cast_expression "(int *)(puVar34 + -0xf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) ))))) )))) ;) (expression_statement "*(byte **)(puVar34 + -0xfc) = pbVar26;" (assignment_expression "*(byte **)(puVar34 + -0xfc) = pbVar26" (pointer_expression "*(byte **)(puVar34 + -0xfc)" * (cast_expression "(byte **)(puVar34 + -0xfc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xfc)" ( (binary_expression "puVar34 + -0xfc" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar9 == 0) goto LAB_00018e4c;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00018e4c;" goto statement_identifier ;)) (labeled_statement "LAB_00018c10:\n          if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }" statement_identifier : (if_statement "if (puVar34[-0x10c] == '\0') {\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }" if (parenthesized_expression "(puVar34[-0x10c] == '\0')" ( (binary_expression "puVar34[-0x10c] == '\0'" (subscript_expression "puVar34[-0x10c]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }\n            iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n            iVar7 = *(int *)(puVar34 + -0x1d0);\n            pmVar35 = pwc;\n            if (iVar8 == 0) goto LAB_00019168;\n            puVar34[-0x10c] = 1;\n          }" { (if_statement "if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0) {\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }" if (parenthesized_expression "((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0)" ( (binary_expression "(*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1)" ( (binary_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f) & 1" (binary_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n                 (*pbVar26 & 0x1f)" (pointer_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" * (cast_expression "(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" ( (binary_expression "*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4" (pointer_expression "*(int *)(puVar34 + -0x1c8)" * (cast_expression "(int *)(puVar34 + -0x1c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) )))) + (binary_expression "(uint)(*pbVar26 >> 5) * 4" (call_expression "(uint)(*pbVar26 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*pbVar26 >> 5)" ( (binary_expression "*pbVar26 >> 5" (pointer_expression "*pbVar26" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*pbVar26 & 0x1f)" ( (binary_expression "*pbVar26 & 0x1f" (pointer_expression "*pbVar26" * identifier) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar34 + -0xf8) = 1;\n              iVar8 = (int)(char)*pbVar26;\n              puVar34[-0xf4] = 1;\n              puVar34[-0x100] = 1;\n              *(int *)(puVar34 + -0xf0) = iVar8;\n              goto LAB_00018c58;\n            }" { (expression_statement "*(undefined4 *)(puVar34 + -0xf8) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0xf8) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0xf8)" * (cast_expression "(undefined4 *)(puVar34 + -0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = (int)(char)*pbVar26;" (assignment_expression "iVar8 = (int)(char)*pbVar26" identifier = (cast_expression "(int)(char)*pbVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar26" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar26" * identifier)))) ;) (expression_statement "puVar34[-0xf4] = 1;" (assignment_expression "puVar34[-0xf4] = 1" (subscript_expression "puVar34[-0xf4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-0x100] = 1;" (assignment_expression "puVar34[-0x100] = 1" (subscript_expression "puVar34[-0x100]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(puVar34 + -0xf0) = iVar8;" (assignment_expression "*(int *)(puVar34 + -0xf0) = iVar8" (pointer_expression "*(int *)(puVar34 + -0xf0)" * (cast_expression "(int *)(puVar34 + -0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf0)" ( (binary_expression "puVar34 + -0xf0" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00018c58;" goto statement_identifier ;) })) (expression_statement "iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);" (assignment_expression "iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3)" identifier = (call_expression "(**(code **)(iVar7 + -0x7cf4))(unaff_s3)" (parenthesized_expression "(**(code **)(iVar7 + -0x7cf4))" ( (pointer_expression "**(code **)(iVar7 + -0x7cf4)" * (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "pmVar35 = pwc;" (assignment_expression "pmVar35 = pwc" identifier = identifier) ;) (if_statement "if (iVar8 == 0) goto LAB_00019168;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019168;" goto statement_identifier ;)) (expression_statement "puVar34[-0x10c] = 1;" (assignment_expression "puVar34[-0x10c] = 1" (subscript_expression "puVar34[-0x10c]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "sVar6 = (**(code **)(iVar7 + -0x7d40))();" (assignment_expression "sVar6 = (**(code **)(iVar7 + -0x7d40))()" identifier = (call_expression "(**(code **)(iVar7 + -0x7d40))()" (parenthesized_expression "(**(code **)(iVar7 + -0x7d40))" ( (pointer_expression "**(code **)(iVar7 + -0x7d40)" * (pointer_expression "*(code **)(iVar7 + -0x7d40)" * (cast_expression "(code **)(iVar7 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d40)" ( (binary_expression "iVar7 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "sVar6 = strnlen1((char *)pbVar26,sVar6);" (assignment_expression "sVar6 = strnlen1((char *)pbVar26,sVar6)" identifier = (call_expression "strnlen1((char *)pbVar26,sVar6)" identifier (argument_list "((char *)pbVar26,sVar6)" ( (cast_expression "(char *)pbVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);" (assignment_expression "pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0)" identifier = (cast_expression "(mbuiter_multi *)(puVar34 + -0xf0)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf0)" ( (binary_expression "puVar34 + -0xf0" identifier + number_literal) )))) ;) (expression_statement "sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);" (assignment_expression "sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3)" identifier = (call_expression "rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3)" identifier (argument_list "((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3)" ( (cast_expression "(wchar_t *)pmVar19" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)pbVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(mbstate_t *)unaff_s3" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(size_t *)(puVar34 + -0xf8) = sVar6;" (assignment_expression "*(size_t *)(puVar34 + -0xf8) = sVar6" (pointer_expression "*(size_t *)(puVar34 + -0xf8)" * (cast_expression "(size_t *)(puVar34 + -0xf8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) )))) = identifier) ;) (if_statement "if (sVar6 != 0xffffffff) break;" if (parenthesized_expression "(sVar6 != 0xffffffff)" ( (binary_expression "sVar6 != 0xffffffff" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar29 = *(char **)(puVar34 + -0xfc);" (assignment_expression "pcVar29 = *(char **)(puVar34 + -0xfc)" identifier = (pointer_expression "*(char **)(puVar34 + -0xfc)" * (cast_expression "(char **)(puVar34 + -0xfc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xfc)" ( (binary_expression "puVar34 + -0xfc" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-0xf4] = 0;" (assignment_expression "puVar34[-0xf4] = 0" (subscript_expression "puVar34[-0xf4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0xf8) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0xf8) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0xf8)" * (cast_expression "(undefined4 *)(puVar34 + -0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "pcVar29 = *(char **)(puVar34 + -0xfc);" (assignment_expression "pcVar29 = *(char **)(puVar34 + -0xfc)" identifier = (pointer_expression "*(char **)(puVar34 + -0xfc)" * (cast_expression "(char **)(puVar34 + -0xfc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xfc)" ( (binary_expression "puVar34 + -0xfc" identifier + number_literal) ))))) ;) (if_statement "if (sVar6 != 0xfffffffe) break;" if (parenthesized_expression "(sVar6 != 0xfffffffe)" ( (binary_expression "sVar6 != 0xfffffffe" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29);" (assignment_expression "uVar22 = (**(code **)(iVar7 + -0x7d94))(pcVar29)" identifier = (call_expression "(**(code **)(iVar7 + -0x7d94))(pcVar29)" (parenthesized_expression "(**(code **)(iVar7 + -0x7d94))" ( (pointer_expression "**(code **)(iVar7 + -0x7d94)" * (pointer_expression "*(code **)(iVar7 + -0x7d94)" * (cast_expression "(code **)(iVar7 + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d94)" ( (binary_expression "iVar7 + -0x7d94" identifier + number_literal) ))))) )) (argument_list "(pcVar29)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0xf8) = uVar22;" (assignment_expression "*(undefined4 *)(puVar34 + -0xf8) = uVar22" (pointer_expression "*(undefined4 *)(puVar34 + -0xf8)" * (cast_expression "(undefined4 *)(puVar34 + -0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar34[-0xf4] = 0;" (assignment_expression "puVar34[-0xf4] = 0" (subscript_expression "puVar34[-0xf4]" identifier [ number_literal ]) = number_literal) ;) })) (if_statement "if (sVar6 == 0) {\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (*pcVar29 != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        if (iVar8 != 0) goto LAB_0001913c;\n      }\n      else {\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }" if (parenthesized_expression "(sVar6 == 0)" ( (binary_expression "sVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (*pcVar29 != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        if (iVar8 != 0) goto LAB_0001913c;\n      }" { (expression_statement "*(undefined4 *)(puVar34 + -0xf8) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0xf8) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0xf8)" * (cast_expression "(undefined4 *)(puVar34 + -0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = *(int *)(iVar7 + -0x7fb0);" (assignment_expression "iVar8 = *(int *)(iVar7 + -0x7fb0)" identifier = (pointer_expression "*(int *)(iVar7 + -0x7fb0)" * (cast_expression "(int *)(iVar7 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fb0)" ( (binary_expression "iVar7 + -0x7fb0" identifier + number_literal) ))))) ;) (expression_statement "pmVar15 = pwc;" (assignment_expression "pmVar15 = pwc" identifier = identifier) ;) (if_statement "if (*pcVar29 != '\0') goto LAB_00019190;" if (parenthesized_expression "(*pcVar29 != '\0')" ( (binary_expression "*pcVar29 != '\0'" (pointer_expression "*pcVar29" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00019190;" goto statement_identifier ;)) (expression_statement "iVar8 = *(int *)(puVar34 + -0xf0);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0xf0)" identifier = (pointer_expression "*(int *)(puVar34 + -0xf0)" * (cast_expression "(int *)(puVar34 + -0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf0)" ( (binary_expression "puVar34 + -0xf0" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 != 0) goto LAB_0001913c;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001913c;" goto statement_identifier ;)) }) (else_clause "else {\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }" else (compound_statement "{\n        iVar8 = *(int *)(puVar34 + -0xf0);\n      }" { (expression_statement "iVar8 = *(int *)(puVar34 + -0xf0);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0xf0)" identifier = (pointer_expression "*(int *)(puVar34 + -0xf0)" * (cast_expression "(int *)(puVar34 + -0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf0)" ( (binary_expression "puVar34 + -0xf0" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7cf4);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7cf4)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-0xf4] = 1;" (assignment_expression "puVar34[-0xf4] = 1" (subscript_expression "puVar34[-0xf4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar12 = (*pcVar32)(unaff_s3);" (assignment_expression "iVar12 = (*pcVar32)(unaff_s3)" identifier = (call_expression "(*pcVar32)(unaff_s3)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != 0) {\n        puVar34[-0x10c] = 0;\n      }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n        puVar34[-0x10c] = 0;\n      }" { (expression_statement "puVar34[-0x10c] = 0;" (assignment_expression "puVar34[-0x10c] = 0" (subscript_expression "puVar34[-0x10c]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar34[-0x100] = 1;" (assignment_expression "puVar34[-0x100] = 1" (subscript_expression "puVar34[-0x100]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00018c58:\n    } while (iVar8 != 0);" statement_identifier : (ERROR "}" }) (while_statement "while (iVar8 != 0);" while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (expression_statement ";" ;))) (expression_statement "uVar22 = *(undefined4 *)(puVar34 + -0x1b8);" (assignment_expression "uVar22 = *(undefined4 *)(puVar34 + -0x1b8)" identifier = (pointer_expression "*(undefined4 *)(puVar34 + -0x1b8)" * (cast_expression "(undefined4 *)(puVar34 + -0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b8)" ( (binary_expression "puVar34 + -0x1b8" identifier + number_literal) ))))) ;) (if_statement "if (puVar34[-0x100] == '\0') {\nLAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);\n      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;\n      *(uint *)(puVar34 + -0x1b4) = uVar16;\n      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n      goto LAB_0001856c;\n    }" if (parenthesized_expression "(puVar34[-0x100] == '\0')" ( (binary_expression "puVar34[-0x100] == '\0'" (subscript_expression "puVar34[-0x100]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);\n      if (puVar34[-0xf4] != '\0') goto LAB_000191bc;\n      *(uint *)(puVar34 + -0x1b4) = uVar16;\n      *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n      goto LAB_0001856c;\n    }" { (labeled_statement "LAB_00018e48:\n      do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);" statement_identifier : (do_statement "do {\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      } while (uVar16 == 0);" do (compound_statement "{\n        pbVar26 = *(byte **)(puVar34 + -0xfc);\nLAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }\n        sVar6 = (**(code **)(iVar7 + -0x7d40))();\n        sVar6 = strnlen1((char *)pbVar26,sVar6);\n        pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);\n        sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);\n        iVar7 = *(int *)(puVar34 + -0x1d0);\n        *(size_t *)(puVar34 + -0xf8) = sVar6;\n        if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }\n        if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }\n        *(undefined4 *)(puVar34 + -0xf8) = 1;\n        iVar8 = *(int *)(iVar7 + -0x7fb0);\n        pmVar15 = pwc;\n        if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;\n        iVar8 = *(int *)(puVar34 + -0xf0);\n        pcVar32 = *(code **)(iVar7 + -0x7cf4);\n        if (iVar8 == 0) goto LAB_00019000;\nLAB_0001913c:\n        uVar16 = 0;\n        mbuiter_multi_next(pmVar19);\n        pwc = pmVar15;\nLAB_00019144:\n      }" { (expression_statement "pbVar26 = *(byte **)(puVar34 + -0xfc);" (assignment_expression "pbVar26 = *(byte **)(puVar34 + -0xfc)" identifier = (pointer_expression "*(byte **)(puVar34 + -0xfc)" * (cast_expression "(byte **)(puVar34 + -0xfc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xfc)" ( (binary_expression "puVar34 + -0xfc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00018e4c:\n        if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }" statement_identifier : (if_statement "if (puVar34[-0x10c] == '\0') {\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }" if (parenthesized_expression "(puVar34[-0x10c] == '\0')" ( (binary_expression "puVar34[-0x10c] == '\0'" (subscript_expression "puVar34[-0x10c]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }\n          iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          pmVar35 = pwc;\n          if (iVar8 == 0) goto LAB_00019168;\n          puVar34[-0x10c] = 1;\n        }" { (if_statement "if ((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0) {\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }" if (parenthesized_expression "((*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0)" ( (binary_expression "(*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1)" ( (binary_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f) & 1" (binary_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4) >>\n               (*pbVar26 & 0x1f)" (pointer_expression "*(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" * (cast_expression "(uint *)(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4)" ( (binary_expression "*(int *)(puVar34 + -0x1c8) + (uint)(*pbVar26 >> 5) * 4" (pointer_expression "*(int *)(puVar34 + -0x1c8)" * (cast_expression "(int *)(puVar34 + -0x1c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1c8)" ( (binary_expression "puVar34 + -0x1c8" identifier + number_literal) )))) + (binary_expression "(uint)(*pbVar26 >> 5) * 4" (call_expression "(uint)(*pbVar26 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*pbVar26 >> 5)" ( (binary_expression "*pbVar26 >> 5" (pointer_expression "*pbVar26" * identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(*pbVar26 & 0x1f)" ( (binary_expression "*pbVar26 & 0x1f" (pointer_expression "*pbVar26" * identifier) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar34 + -0xf8) = 1;\n            iVar8 = (int)(char)*pbVar26;\n            puVar34[-0xf4] = 1;\n            puVar34[-0x100] = 1;\n            *(int *)(puVar34 + -0xf0) = iVar8;\n            goto LAB_00018e94;\n          }" { (expression_statement "*(undefined4 *)(puVar34 + -0xf8) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0xf8) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0xf8)" * (cast_expression "(undefined4 *)(puVar34 + -0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = (int)(char)*pbVar26;" (assignment_expression "iVar8 = (int)(char)*pbVar26" identifier = (cast_expression "(int)(char)*pbVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar26" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar26" * identifier)))) ;) (expression_statement "puVar34[-0xf4] = 1;" (assignment_expression "puVar34[-0xf4] = 1" (subscript_expression "puVar34[-0xf4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar34[-0x100] = 1;" (assignment_expression "puVar34[-0x100] = 1" (subscript_expression "puVar34[-0x100]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(puVar34 + -0xf0) = iVar8;" (assignment_expression "*(int *)(puVar34 + -0xf0) = iVar8" (pointer_expression "*(int *)(puVar34 + -0xf0)" * (cast_expression "(int *)(puVar34 + -0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf0)" ( (binary_expression "puVar34 + -0xf0" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00018e94;" goto statement_identifier ;) })) (expression_statement "iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3);" (assignment_expression "iVar8 = (**(code **)(iVar7 + -0x7cf4))(unaff_s3)" identifier = (call_expression "(**(code **)(iVar7 + -0x7cf4))(unaff_s3)" (parenthesized_expression "(**(code **)(iVar7 + -0x7cf4))" ( (pointer_expression "**(code **)(iVar7 + -0x7cf4)" * (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "pmVar35 = pwc;" (assignment_expression "pmVar35 = pwc" identifier = identifier) ;) (if_statement "if (iVar8 == 0) goto LAB_00019168;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019168;" goto statement_identifier ;)) (expression_statement "puVar34[-0x10c] = 1;" (assignment_expression "puVar34[-0x10c] = 1" (subscript_expression "puVar34[-0x10c]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "sVar6 = (**(code **)(iVar7 + -0x7d40))();" (assignment_expression "sVar6 = (**(code **)(iVar7 + -0x7d40))()" identifier = (call_expression "(**(code **)(iVar7 + -0x7d40))()" (parenthesized_expression "(**(code **)(iVar7 + -0x7d40))" ( (pointer_expression "**(code **)(iVar7 + -0x7d40)" * (pointer_expression "*(code **)(iVar7 + -0x7d40)" * (cast_expression "(code **)(iVar7 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d40)" ( (binary_expression "iVar7 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "sVar6 = strnlen1((char *)pbVar26,sVar6);" (assignment_expression "sVar6 = strnlen1((char *)pbVar26,sVar6)" identifier = (call_expression "strnlen1((char *)pbVar26,sVar6)" identifier (argument_list "((char *)pbVar26,sVar6)" ( (cast_expression "(char *)pbVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0);" (assignment_expression "pmVar19 = (mbuiter_multi *)(puVar34 + -0xf0)" identifier = (cast_expression "(mbuiter_multi *)(puVar34 + -0xf0)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf0)" ( (binary_expression "puVar34 + -0xf0" identifier + number_literal) )))) ;) (expression_statement "sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3);" (assignment_expression "sVar6 = rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3)" identifier = (call_expression "rpl_mbrtowc((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3)" identifier (argument_list "((wchar_t *)pmVar19,(char *)pbVar26,sVar6,(mbstate_t *)unaff_s3)" ( (cast_expression "(wchar_t *)pmVar19" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)pbVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(mbstate_t *)unaff_s3" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "*(size_t *)(puVar34 + -0xf8) = sVar6;" (assignment_expression "*(size_t *)(puVar34 + -0xf8) = sVar6" (pointer_expression "*(size_t *)(puVar34 + -0xf8)" * (cast_expression "(size_t *)(puVar34 + -0xf8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) )))) = identifier) ;) (if_statement "if (sVar6 == 0xffffffff) {\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }" if (parenthesized_expression "(sVar6 == 0xffffffff)" ( (binary_expression "sVar6 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0xf8) = 1;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }" { (expression_statement "puVar34[-0xf4] = 0;" (assignment_expression "puVar34[-0xf4] = 0" (subscript_expression "puVar34[-0xf4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0xf8) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0xf8) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0xf8)" * (cast_expression "(undefined4 *)(puVar34 + -0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);" (assignment_expression "*(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc)" (pointer_expression "*(undefined4 *)(puVar34 + -0x1ac)" * (cast_expression "(undefined4 *)(puVar34 + -0x1ac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1ac)" ( (binary_expression "puVar34 + -0x1ac" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar34 + -0x1bc)" * (cast_expression "(undefined4 *)(puVar34 + -0x1bc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-0x100] = 1;" (assignment_expression "puVar34[-0x100] = 1" (subscript_expression "puVar34[-0x100]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001856c;" goto statement_identifier ;) })) (if_statement "if (sVar6 == 0xfffffffe) {\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }" if (parenthesized_expression "(sVar6 == 0xfffffffe)" ( (binary_expression "sVar6 == 0xfffffffe" identifier == number_literal) )) (compound_statement "{\n          uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));\n          *(undefined4 *)(puVar34 + -0xf8) = uVar22;\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          puVar34[-0xf4] = 0;\n          *(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);\n          puVar34[-0x100] = 1;\n          goto LAB_0001856c;\n        }" { (expression_statement "uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc));" (assignment_expression "uVar22 = (**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc))" identifier = (call_expression "(**(code **)(iVar7 + -0x7d94))(*(undefined4 *)(puVar34 + -0xfc))" (parenthesized_expression "(**(code **)(iVar7 + -0x7d94))" ( (pointer_expression "**(code **)(iVar7 + -0x7d94)" * (pointer_expression "*(code **)(iVar7 + -0x7d94)" * (cast_expression "(code **)(iVar7 + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7d94)" ( (binary_expression "iVar7 + -0x7d94" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar34 + -0xfc))" ( (pointer_expression "*(undefined4 *)(puVar34 + -0xfc)" * (cast_expression "(undefined4 *)(puVar34 + -0xfc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xfc)" ( (binary_expression "puVar34 + -0xfc" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0xf8) = uVar22;" (assignment_expression "*(undefined4 *)(puVar34 + -0xf8) = uVar22" (pointer_expression "*(undefined4 *)(puVar34 + -0xf8)" * (cast_expression "(undefined4 *)(puVar34 + -0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-0xf4] = 0;" (assignment_expression "puVar34[-0xf4] = 0" (subscript_expression "puVar34[-0xf4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);" (assignment_expression "*(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc)" (pointer_expression "*(undefined4 *)(puVar34 + -0x1ac)" * (cast_expression "(undefined4 *)(puVar34 + -0x1ac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1ac)" ( (binary_expression "puVar34 + -0x1ac" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar34 + -0x1bc)" * (cast_expression "(undefined4 *)(puVar34 + -0x1bc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) ))))) ;) (expression_statement "puVar34[-0x100] = 1;" (assignment_expression "puVar34[-0x100] = 1" (subscript_expression "puVar34[-0x100]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001856c;" goto statement_identifier ;) })) (if_statement "if (sVar6 != 0) {\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }" if (parenthesized_expression "(sVar6 != 0)" ( (binary_expression "sVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar8 = *(int *)(puVar34 + -0xf0);\n          pcVar32 = *(code **)(iVar7 + -0x7cf4);\nLAB_00019000:\n          puVar34[-0xf4] = 1;\n          iVar9 = (*pcVar32)(unaff_s3);\n          iVar7 = *(int *)(puVar34 + -0x1d0);\n          if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }\n          puVar34[-0x100] = 1;\n          goto LAB_00018e94;\n        }" { (expression_statement "iVar8 = *(int *)(puVar34 + -0xf0);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0xf0)" identifier = (pointer_expression "*(int *)(puVar34 + -0xf0)" * (cast_expression "(int *)(puVar34 + -0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf0)" ( (binary_expression "puVar34 + -0xf0" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7cf4);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7cf4)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00019000:\n          puVar34[-0xf4] = 1;" statement_identifier : (expression_statement "puVar34[-0xf4] = 1;" (assignment_expression "puVar34[-0xf4] = 1" (subscript_expression "puVar34[-0xf4]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "iVar9 = (*pcVar32)(unaff_s3);" (assignment_expression "iVar9 = (*pcVar32)(unaff_s3)" identifier = (call_expression "(*pcVar32)(unaff_s3)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(puVar34 + -0x1d0);" (assignment_expression "iVar7 = *(int *)(puVar34 + -0x1d0)" identifier = (pointer_expression "*(int *)(puVar34 + -0x1d0)" * (cast_expression "(int *)(puVar34 + -0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1d0)" ( (binary_expression "puVar34 + -0x1d0" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 != 0) {\n            puVar34[-0x10c] = 0;\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            puVar34[-0x10c] = 0;\n          }" { (expression_statement "puVar34[-0x10c] = 0;" (assignment_expression "puVar34[-0x10c] = 0" (subscript_expression "puVar34[-0x10c]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar34[-0x100] = 1;" (assignment_expression "puVar34[-0x100] = 1" (subscript_expression "puVar34[-0x100]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00018e94;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar34 + -0xf8) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0xf8) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0xf8)" * (cast_expression "(undefined4 *)(puVar34 + -0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf8)" ( (binary_expression "puVar34 + -0xf8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = *(int *)(iVar7 + -0x7fb0);" (assignment_expression "iVar8 = *(int *)(iVar7 + -0x7fb0)" identifier = (pointer_expression "*(int *)(iVar7 + -0x7fb0)" * (cast_expression "(int *)(iVar7 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fb0)" ( (binary_expression "iVar7 + -0x7fb0" identifier + number_literal) ))))) ;) (expression_statement "pmVar15 = pwc;" (assignment_expression "pmVar15 = pwc" identifier = identifier) ;) (if_statement "if (**(char **)(puVar34 + -0xfc) != '\0') goto LAB_00019190;" if (parenthesized_expression "(**(char **)(puVar34 + -0xfc) != '\0')" ( (binary_expression "**(char **)(puVar34 + -0xfc) != '\0'" (pointer_expression "**(char **)(puVar34 + -0xfc)" * (pointer_expression "*(char **)(puVar34 + -0xfc)" * (cast_expression "(char **)(puVar34 + -0xfc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xfc)" ( (binary_expression "puVar34 + -0xfc" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00019190;" goto statement_identifier ;)) (expression_statement "iVar8 = *(int *)(puVar34 + -0xf0);" (assignment_expression "iVar8 = *(int *)(puVar34 + -0xf0)" identifier = (pointer_expression "*(int *)(puVar34 + -0xf0)" * (cast_expression "(int *)(puVar34 + -0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xf0)" ( (binary_expression "puVar34 + -0xf0" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = *(code **)(iVar7 + -0x7cf4);" (assignment_expression "pcVar32 = *(code **)(iVar7 + -0x7cf4)" identifier = (pointer_expression "*(code **)(iVar7 + -0x7cf4)" * (cast_expression "(code **)(iVar7 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7cf4)" ( (binary_expression "iVar7 + -0x7cf4" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) goto LAB_00019000;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019000;" goto statement_identifier ;)) (labeled_statement "LAB_0001913c:\n        uVar16 = 0;" statement_identifier : (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;)) (expression_statement "mbuiter_multi_next(pmVar19);" (call_expression "mbuiter_multi_next(pmVar19)" identifier (argument_list "(pmVar19)" ( identifier ))) ;) (expression_statement "pwc = pmVar15;" (assignment_expression "pwc = pmVar15" identifier = identifier) ;) (labeled_statement "LAB_00019144:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) ;)) (if_statement "if (puVar34[-0xf4] != '\0') goto LAB_000191bc;" if (parenthesized_expression "(puVar34[-0xf4] != '\0')" ( (binary_expression "puVar34[-0xf4] != '\0'" (subscript_expression "puVar34[-0xf4]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000191bc;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar34 + -0x1b4) = uVar16;" (assignment_expression "*(uint *)(puVar34 + -0x1b4) = uVar16" (pointer_expression "*(uint *)(puVar34 + -0x1b4)" * (cast_expression "(uint *)(puVar34 + -0x1b4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1b4)" ( (binary_expression "puVar34 + -0x1b4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc);" (assignment_expression "*(undefined4 *)(puVar34 + -0x1ac) = *(undefined4 *)(puVar34 + -0x1bc)" (pointer_expression "*(undefined4 *)(puVar34 + -0x1ac)" * (cast_expression "(undefined4 *)(puVar34 + -0x1ac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1ac)" ( (binary_expression "puVar34 + -0x1ac" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar34 + -0x1bc)" * (cast_expression "(undefined4 *)(puVar34 + -0x1bc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x1bc)" ( (binary_expression "puVar34 + -0x1bc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001856c;" goto statement_identifier ;) })) }) goto identifier ; identifier : identifier [ number_literal ] = ' ERROR identifier ' ; identifier [ number_literal ] = ' ERROR number_literal ' ; identifier [ number_literal ] = ' ERROR number_literal ' ; identifier [ number_literal ] = ' ERROR number_literal ' ; identifier [ number_literal ] = ' ERROR identifier ' ; (if_statement "if ((undefined1 *)0x2 < puStack_138) {\n    unaff_s3 = (mbuiter_multi *)0x0;\n    unaff_s7 = (mbuiter_multi *)0x2;\n    pmVar15 = pmStack_124;\nLAB_000177e0:\n    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);\n    cVar14 = (pmVar15->cur).buf[0x10];\n    do {\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    } while( true );\n  }" if (parenthesized_expression "((undefined1 *)0x2 < puStack_138)" ( (binary_expression "(undefined1 *)0x2 < puStack_138" (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n    unaff_s3 = (mbuiter_multi *)0x0;\n    unaff_s7 = (mbuiter_multi *)0x2;\n    pmVar15 = pmStack_124;\nLAB_000177e0:\n    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);\n    cVar14 = (pmVar15->cur).buf[0x10];\n    do {\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    } while( true );\n  }" { (expression_statement "unaff_s3 = (mbuiter_multi *)0x0;" (assignment_expression "unaff_s3 = (mbuiter_multi *)0x0" identifier = (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = (mbuiter_multi *)0x2;" (assignment_expression "unaff_s7 = (mbuiter_multi *)0x2" identifier = (cast_expression "(mbuiter_multi *)0x2" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pmVar15 = pmStack_124;" (assignment_expression "pmVar15 = pmStack_124" identifier = identifier) ;) (labeled_statement "LAB_000177e0:\n    pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);" statement_identifier : (expression_statement "pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8);" (assignment_expression "pmVar28 = (mbuiter_multi *)((pmVar15->cur).buf + 8)" identifier = (cast_expression "(mbuiter_multi *)((pmVar15->cur).buf + 8)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pmVar15->cur).buf + 8)" ( (binary_expression "(pmVar15->cur).buf + 8" (field_expression "(pmVar15->cur).buf" (parenthesized_expression "(pmVar15->cur)" ( (field_expression "pmVar15->cur" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) ;)) (expression_statement "cVar14 = (pmVar15->cur).buf[0x10];" (assignment_expression "cVar14 = (pmVar15->cur).buf[0x10]" identifier = (subscript_expression "(pmVar15->cur).buf[0x10]" (field_expression "(pmVar15->cur).buf" (parenthesized_expression "(pmVar15->cur)" ( (field_expression "pmVar15->cur" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (do_statement "do {\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    } while( true );" do (compound_statement "{\n      pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;\n      if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }\n      if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;\n      unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));\n    }" { (expression_statement "pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf;" (assignment_expression "pcVar29 = (&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf" identifier = (field_expression "(&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)].buf" (subscript_expression "(&pmStack_124->cur)[(int)(unaff_s3[-1].cur.buf + 0x17)]" (parenthesized_expression "(&pmStack_124->cur)" ( (pointer_expression "&pmStack_124->cur" & (field_expression "pmStack_124->cur" identifier -> field_identifier)) )) [ (cast_expression "(int)(unaff_s3[-1].cur.buf + 0x17)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s3[-1].cur.buf + 0x17)" ( (binary_expression "unaff_s3[-1].cur.buf + 0x17" (field_expression "unaff_s3[-1].cur.buf" (field_expression "unaff_s3[-1].cur" (subscript_expression "unaff_s3[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) + number_literal) ))) ]) . field_identifier)) ;) (if_statement "if ((cVar14 == '\0') || (pcVar29[0x10] == '\0')) {\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }\n      else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }" if (parenthesized_expression "((cVar14 == '\0') || (pcVar29[0x10] == '\0'))" ( (binary_expression "(cVar14 == '\0') || (pcVar29[0x10] == '\0')" (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(pcVar29[0x10] == '\0')" ( (binary_expression "pcVar29[0x10] == '\0'" (subscript_expression "pcVar29[0x10]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }\n      }" { (if_statement "if (*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)) {\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }" if (parenthesized_expression "(*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc))" ( (binary_expression "*(int *)((pmVar15->cur).buf + 0xc) == *(int *)(pcVar29 + 0xc)" (pointer_expression "*(int *)((pmVar15->cur).buf + 0xc)" * (cast_expression "(int *)((pmVar15->cur).buf + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pmVar15->cur).buf + 0xc)" ( (binary_expression "(pmVar15->cur).buf + 0xc" (field_expression "(pmVar15->cur).buf" (parenthesized_expression "(pmVar15->cur)" ( (field_expression "pmVar15->cur" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) == (pointer_expression "*(int *)(pcVar29 + 0xc)" * (cast_expression "(int *)(pcVar29 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0xc)" ( (binary_expression "pcVar29 + 0xc" identifier + number_literal) ))))) )) (compound_statement "{\n          pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);\n          iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);\n          pcVar32 = (code *)auStack_158._16_4_;\n          if (iVar7 == 0) goto LAB_00017858;\n        }" { (expression_statement "pmVar19 = *(mbuiter_multi **)(pcVar29 + 8);" (assignment_expression "pmVar19 = *(mbuiter_multi **)(pcVar29 + 8)" identifier = (pointer_expression "*(mbuiter_multi **)(pcVar29 + 8)" * (cast_expression "(mbuiter_multi **)(pcVar29 + 8)" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 8)" ( (binary_expression "pcVar29 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28);" (assignment_expression "iVar7 = (**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28)" identifier = (call_expression "(**(code **)(pcVar32 + -0x7d10))(*(undefined4 *)pmVar28)" (parenthesized_expression "(**(code **)(pcVar32 + -0x7d10))" ( (pointer_expression "**(code **)(pcVar32 + -0x7d10)" * (pointer_expression "*(code **)(pcVar32 + -0x7d10)" * (cast_expression "(code **)(pcVar32 + -0x7d10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7d10)" ( (binary_expression "pcVar32 + -0x7d10" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)pmVar28)" ( (pointer_expression "*(undefined4 *)pmVar28" * (cast_expression "(undefined4 *)pmVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (if_statement "if (iVar7 == 0) goto LAB_00017858;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00017858;" goto statement_identifier ;)) })) }) (else_clause "else if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }" else (if_statement "if (*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)) {\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }" if (parenthesized_expression "(*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14))" ( (binary_expression "*(int *)((pmVar15->cur).buf + 0x14) == *(int *)(pcVar29 + 0x14)" (pointer_expression "*(int *)((pmVar15->cur).buf + 0x14)" * (cast_expression "(int *)((pmVar15->cur).buf + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pmVar15->cur).buf + 0x14)" ( (binary_expression "(pmVar15->cur).buf + 0x14" (field_expression "(pmVar15->cur).buf" (parenthesized_expression "(pmVar15->cur)" ( (field_expression "pmVar15->cur" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) == (pointer_expression "*(int *)(pcVar29 + 0x14)" * (cast_expression "(int *)(pcVar29 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x14)" ( (binary_expression "pcVar29 + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;\n        *(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;\n        goto LAB_0001786c;\n      }" { (labeled_statement "LAB_00017858:\n        unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;" statement_identifier : (expression_statement "unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1;" (assignment_expression "unaff_s3 = (mbuiter_multi *)&unaff_s3->field_0x1" identifier = (cast_expression "(mbuiter_multi *)&unaff_s3->field_0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s3->field_0x1" & (field_expression "unaff_s3->field_0x1" identifier -> field_identifier)))) ;)) (expression_statement "*(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3;" (assignment_expression "*(int *)(pcStack_128 + (int)unaff_s7 * 4) = (int)unaff_s7 - (int)unaff_s3" (pointer_expression "*(int *)(pcStack_128 + (int)unaff_s7 * 4)" * (cast_expression "(int *)(pcStack_128 + (int)unaff_s7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_128 + (int)unaff_s7 * 4)" ( (binary_expression "pcStack_128 + (int)unaff_s7 * 4" identifier + (binary_expression "(int)unaff_s7 * 4" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = (binary_expression "(int)unaff_s7 - (int)unaff_s3" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_0001786c;" goto statement_identifier ;) })))) (if_statement "if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017eec;" if (parenthesized_expression "(unaff_s3 == (mbuiter_multi *)0x0)" ( (binary_expression "unaff_s3 == (mbuiter_multi *)0x0" identifier == (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017eec;" goto statement_identifier ;)) (expression_statement "unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4));" (assignment_expression "unaff_s3 = (mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4))" identifier = (cast_expression "(mbuiter_multi *)((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4))" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4))" ( (binary_expression "(int)unaff_s3 - *(int *)(pcStack_128 + (int)unaff_s3 * 4)" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(pcStack_128 + (int)unaff_s3 * 4)" * (cast_expression "(int *)(pcStack_128 + (int)unaff_s3 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_128 + (int)unaff_s3 * 4)" ( (binary_expression "pcStack_128 + (int)unaff_s3 * 4" identifier + (binary_expression "(int)unaff_s3 * 4" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) )))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) identifier : identifier = ( identifier * ) ( identifier + number_literal ) ; identifier = ( identifier * ) identifier ; identifier = ( identifier * ) number_literal ; identifier . identifier = number_literal ; identifier = * ( primitive_type * ) ( identifier + number_literal ) ; identifier = identifier ; identifier = ( identifier * ) ( identifier + number_literal ) ; identifier = ( identifier * ) identifier ; identifier = number_literal ; identifier = ( identifier * ) identifier ; identifier . identifier = number_literal ; identifier = identifier ; * ( identifier * ) identifier . identifier = number_literal ; identifier . identifier = number_literal ; identifier [ number_literal ] = ' ERROR number_literal ' ; identifier = ' ERROR number_literal ' ; identifier . identifier = identifier ; identifier = ' ERROR number_literal ' ; identifier [ number_literal ] = ' ERROR number_literal ' ; (labeled_statement "joined_r0x000178d8:\n  if (auStack_80[8] == '\0') goto LAB_00017974;" statement_identifier : (if_statement "if (auStack_80[8] == '\0') goto LAB_00017974;" if (parenthesized_expression "(auStack_80[8] == '\0')" ( (binary_expression "auStack_80[8] == '\0'" (subscript_expression "auStack_80[8]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00017974;" goto statement_identifier ;))) (expression_statement "pmVar15 = (mbuiter_multi *)(uint)bStack_6c;" (assignment_expression "pmVar15 = (mbuiter_multi *)(uint)bStack_6c" identifier = (cast_expression "(mbuiter_multi *)(uint)bStack_6c" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_6c" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pmVar4 = apmStack_68[0];" (assignment_expression "pmVar4 = apmStack_68[0]" identifier = (subscript_expression "apmStack_68[0]" identifier [ number_literal ])) ;) (if_statement "if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_000178f4;" if (parenthesized_expression "(pmVar15 == (mbuiter_multi *)0x0)" ( (binary_expression "pmVar15 == (mbuiter_multi *)0x0" identifier == (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000178f4;" goto statement_identifier ;)) (labeled_statement "joined_r0x000178ec:\n  pmVar15 = (mbuiter_multi *)0x1;" statement_identifier : (expression_statement "pmVar15 = (mbuiter_multi *)0x1;" (assignment_expression "pmVar15 = (mbuiter_multi *)0x1" identifier = (cast_expression "(mbuiter_multi *)0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;))) (if_statement "if (pmVar4 != (mbuiter_multi *)0x0) {\nLAB_000178f4:\n    unaff_s7 = pmStack_70;\n    if ((mbuiter_multi *)auStack_80._12_4_ == unaff_s1) goto LAB_00017ea0;\n    pmStack_11c = (mbuiter_multi *)auStack_80._12_4_;\nLAB_00017904:\n    pmStack_118 = unaff_s7;\n    uStack_114 = (char)pmVar15;\n    unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8);\n    pmVar25 = (mbuiter_multi *)((int)in_t5 * 4);\n    if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_00017af0;\n    pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4);\n    pmStack_130 = in_t5;\n    iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0]);\n    pmVar25 = pmStack_134;\n    in_t5 = pmStack_130;\n    pcVar32 = (code *)auStack_158._16_4_;\n    if (((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')\n    goto LAB_00017af0;\n    pmVar15 = pmVar19;\n    if (iStack_110 != *(int *)&unaff_s3->next_done) goto LAB_00017afc;\n    in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n    auStack_80[8] = '\0';\n    auStack_80._12_4_ =\n         (mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n    pmVar19 = pmVar28;\n    if ((mbuiter_multi *)puStack_138 != in_t5) {\nLAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);\n      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;\n      if (cStack_84 != '\0') goto LAB_00017b90;\n      while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }\n      pmStack_70 = (mbuiter_multi *)0x1;\n      bStack_6c = 1;\n      auStack_80[8] = '\x01';\n      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      goto joined_r0x000178ec;\n    }\nLAB_00017c74:\n    auStack_80[8] = '\0';\n    *(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac;\n    freea(pmStack_124);\n    goto LAB_000179e4;\n  }" if (parenthesized_expression "(pmVar4 != (mbuiter_multi *)0x0)" ( (binary_expression "pmVar4 != (mbuiter_multi *)0x0" identifier != (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000178f4:\n    unaff_s7 = pmStack_70;\n    if ((mbuiter_multi *)auStack_80._12_4_ == unaff_s1) goto LAB_00017ea0;\n    pmStack_11c = (mbuiter_multi *)auStack_80._12_4_;\nLAB_00017904:\n    pmStack_118 = unaff_s7;\n    uStack_114 = (char)pmVar15;\n    unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8);\n    pmVar25 = (mbuiter_multi *)((int)in_t5 * 4);\n    if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_00017af0;\n    pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4);\n    pmStack_130 = in_t5;\n    iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0]);\n    pmVar25 = pmStack_134;\n    in_t5 = pmStack_130;\n    pcVar32 = (code *)auStack_158._16_4_;\n    if (((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')\n    goto LAB_00017af0;\n    pmVar15 = pmVar19;\n    if (iStack_110 != *(int *)&unaff_s3->next_done) goto LAB_00017afc;\n    in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n    auStack_80[8] = '\0';\n    auStack_80._12_4_ =\n         (mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n    pmVar19 = pmVar28;\n    if ((mbuiter_multi *)puStack_138 != in_t5) {\nLAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);\n      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;\n      if (cStack_84 != '\0') goto LAB_00017b90;\n      while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }\n      pmStack_70 = (mbuiter_multi *)0x1;\n      bStack_6c = 1;\n      auStack_80[8] = '\x01';\n      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      goto joined_r0x000178ec;\n    }\nLAB_00017c74:\n    auStack_80[8] = '\0';\n    *(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac;\n    freea(pmStack_124);\n    goto LAB_000179e4;\n  }" { (labeled_statement "LAB_000178f4:\n    unaff_s7 = pmStack_70;" statement_identifier : (expression_statement "unaff_s7 = pmStack_70;" (assignment_expression "unaff_s7 = pmStack_70" identifier = identifier) ;)) (if_statement "if ((mbuiter_multi *)auStack_80._12_4_ == unaff_s1) goto LAB_00017ea0;" if (parenthesized_expression "((mbuiter_multi *)auStack_80._12_4_ == unaff_s1)" ( (binary_expression "(mbuiter_multi *)auStack_80._12_4_ == unaff_s1" (cast_expression "(mbuiter_multi *)auStack_80._12_4_" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_80._12_4_" identifier . field_identifier)) == identifier) )) (goto_statement "goto LAB_00017ea0;" goto statement_identifier ;)) (expression_statement "pmStack_11c = (mbuiter_multi *)auStack_80._12_4_;" (assignment_expression "pmStack_11c = (mbuiter_multi *)auStack_80._12_4_" identifier = (cast_expression "(mbuiter_multi *)auStack_80._12_4_" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_80._12_4_" identifier . field_identifier))) ;) (labeled_statement "LAB_00017904:\n    pmStack_118 = unaff_s7;" statement_identifier : (expression_statement "pmStack_118 = unaff_s7;" (assignment_expression "pmStack_118 = unaff_s7" identifier = identifier) ;)) (expression_statement "uStack_114 = (char)pmVar15;" (assignment_expression "uStack_114 = (char)pmVar15" identifier = (cast_expression "(char)pmVar15" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8);" (assignment_expression "unaff_s3 = (mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8)" identifier = (cast_expression "(mbuiter_multi *)((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8)" ( (binary_expression "(&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf + 8" (field_expression "(&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)].buf" (subscript_expression "(&pmStack_124->cur)[(int)(in_t5[-1].cur.buf + 0x17)]" (parenthesized_expression "(&pmStack_124->cur)" ( (pointer_expression "&pmStack_124->cur" & (field_expression "pmStack_124->cur" identifier -> field_identifier)) )) [ (cast_expression "(int)(in_t5[-1].cur.buf + 0x17)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(in_t5[-1].cur.buf + 0x17)" ( (binary_expression "in_t5[-1].cur.buf + 0x17" (field_expression "in_t5[-1].cur.buf" (field_expression "in_t5[-1].cur" (subscript_expression "in_t5[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) + number_literal) ))) ]) . field_identifier) + number_literal) )))) ;) (expression_statement "pmVar25 = (mbuiter_multi *)((int)in_t5 * 4);" (assignment_expression "pmVar25 = (mbuiter_multi *)((int)in_t5 * 4)" identifier = (cast_expression "(mbuiter_multi *)((int)in_t5 * 4)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_t5 * 4)" ( (binary_expression "(int)in_t5 * 4" (cast_expression "(int)in_t5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if (pmVar15 == (mbuiter_multi *)0x0) goto LAB_00017af0;" if (parenthesized_expression "(pmVar15 == (mbuiter_multi *)0x0)" ( (binary_expression "pmVar15 == (mbuiter_multi *)0x0" identifier == (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017af0;" goto statement_identifier ;)) (expression_statement "pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4);" (assignment_expression "pmStack_134 = (mbuiter_multi *)((int)in_t5 * 4)" identifier = (cast_expression "(mbuiter_multi *)((int)in_t5 * 4)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_t5 * 4)" ( (binary_expression "(int)in_t5 * 4" (cast_expression "(int)in_t5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pmStack_130 = in_t5;" (assignment_expression "pmStack_130 = in_t5" identifier = identifier) ;) (expression_statement "iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0]);" (assignment_expression "iStack_110 = (**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0])" identifier = (call_expression "(**(code **)(pcVar32 + -0x7cfc))(apmStack_68[0])" (parenthesized_expression "(**(code **)(pcVar32 + -0x7cfc))" ( (pointer_expression "**(code **)(pcVar32 + -0x7cfc)" * (pointer_expression "*(code **)(pcVar32 + -0x7cfc)" * (cast_expression "(code **)(pcVar32 + -0x7cfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7cfc)" ( (binary_expression "pcVar32 + -0x7cfc" identifier + number_literal) ))))) )) (argument_list "(apmStack_68[0])" ( (subscript_expression "apmStack_68[0]" identifier [ number_literal ]) )))) ;) (expression_statement "pmVar25 = pmStack_134;" (assignment_expression "pmVar25 = pmStack_134" identifier = identifier) ;) (expression_statement "in_t5 = pmStack_130;" (assignment_expression "in_t5 = pmStack_130" identifier = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (if_statement "if (((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')\n    goto LAB_00017af0;" if (parenthesized_expression "(((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0')" ( (binary_expression "((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0] == '\0'" (subscript_expression "((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb[0]" (field_expression "((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1].__wchb" (subscript_expression "((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)[1]" (parenthesized_expression "((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)" ( (cast_expression "(anon_union_4_2_91654ee9_for___value *)&unaff_s3->state" ( (type_descriptor "anon_union_4_2_91654ee9_for___value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s3->state" & (field_expression "unaff_s3->state" identifier -> field_identifier))) )) [ number_literal ]) . field_identifier) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00017af0;" goto statement_identifier ;)) (expression_statement "pmVar15 = pmVar19;" (assignment_expression "pmVar15 = pmVar19" identifier = identifier) ;) (if_statement "if (iStack_110 != *(int *)&unaff_s3->next_done) goto LAB_00017afc;" if (parenthesized_expression "(iStack_110 != *(int *)&unaff_s3->next_done)" ( (binary_expression "iStack_110 != *(int *)&unaff_s3->next_done" identifier != (pointer_expression "*(int *)&unaff_s3->next_done" * (cast_expression "(int *)&unaff_s3->next_done" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s3->next_done" & (field_expression "unaff_s3->next_done" identifier -> field_identifier))))) )) (goto_statement "goto LAB_00017afc;" goto statement_identifier ;)) (expression_statement "in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;" (assignment_expression "in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1" identifier = (cast_expression "(mbuiter_multi *)&pmStack_130->field_0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pmStack_130->field_0x1" & (field_expression "pmStack_130->field_0x1" identifier -> field_identifier)))) ;) (expression_statement "auStack_80[8] = '\0';" (assignment_expression "auStack_80[8] = '\0'" (subscript_expression "auStack_80[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auStack_80._12_4_ =\n         (mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);" (assignment_expression "auStack_80._12_4_ =\n         (mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8)" (field_expression "auStack_80._12_4_" identifier . field_identifier) = (cast_expression "(mbuiter_multi *)\n         ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8)" ( (binary_expression "(unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8" (binary_expression "(unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1)" (field_expression "(unaff_s7->cur).buf" (parenthesized_expression "(unaff_s7->cur)" ( (field_expression "unaff_s7->cur" identifier -> field_identifier) )) . field_identifier) + (cast_expression "(int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((mbchar *)(auStack_80._12_4_ + 0x10) + -1)" ( (binary_expression "(mbchar *)(auStack_80._12_4_ + 0x10) + -1" (cast_expression "(mbchar *)(auStack_80._12_4_ + 0x10)" ( (type_descriptor "mbchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_80._12_4_ + 0x10)" ( (binary_expression "auStack_80._12_4_ + 0x10" (field_expression "auStack_80._12_4_" identifier . field_identifier) + number_literal) ))) + number_literal) )))) + number_literal) )))) ;) (expression_statement "pmVar19 = pmVar28;" (assignment_expression "pmVar19 = pmVar28" identifier = identifier) ;) (if_statement "if ((mbuiter_multi *)puStack_138 != in_t5) {\nLAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);\n      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;\n      if (cStack_84 != '\0') goto LAB_00017b90;\n      while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }\n      pmStack_70 = (mbuiter_multi *)0x1;\n      bStack_6c = 1;\n      auStack_80[8] = '\x01';\n      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      goto joined_r0x000178ec;\n    }" if (parenthesized_expression "((mbuiter_multi *)puStack_138 != in_t5)" ( (binary_expression "(mbuiter_multi *)puStack_138 != in_t5" (cast_expression "(mbuiter_multi *)puStack_138" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\nLAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);\n      pmVar19 = (mbuiter_multi *)auStack_80._12_4_;\n      if (cStack_84 != '\0') goto LAB_00017b90;\n      while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }\n      pmStack_70 = (mbuiter_multi *)0x1;\n      bStack_6c = 1;\n      auStack_80[8] = '\x01';\n      apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;\n      goto joined_r0x000178ec;\n    }" { (labeled_statement "LAB_00017974:\n      pcVar33 = *(code **)(pcVar32 + -0x7d40);" statement_identifier : (expression_statement "pcVar33 = *(code **)(pcVar32 + -0x7d40);" (assignment_expression "pcVar33 = *(code **)(pcVar32 + -0x7d40)" identifier = (pointer_expression "*(code **)(pcVar32 + -0x7d40)" * (cast_expression "(code **)(pcVar32 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7d40)" ( (binary_expression "pcVar32 + -0x7d40" identifier + number_literal) ))))) ;)) (expression_statement "pmVar19 = (mbuiter_multi *)auStack_80._12_4_;" (assignment_expression "pmVar19 = (mbuiter_multi *)auStack_80._12_4_" identifier = (cast_expression "(mbuiter_multi *)auStack_80._12_4_" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_80._12_4_" identifier . field_identifier))) ;) (if_statement "if (cStack_84 != '\0') goto LAB_00017b90;" if (parenthesized_expression "(cStack_84 != '\0')" ( (binary_expression "cStack_84 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00017b90;" goto statement_identifier ;)) (while_statement "while( true ) {\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;\n        if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;\n        pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;\n        pmStack_130 = in_t5;\n        iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);\n        pcVar32 = (code *)auStack_158._16_4_;\n        if (iVar7 == 0) goto LAB_000180a8;\n        cStack_84 = '\x01';\n        pmVar19 = pmStack_134;\n        in_t5 = pmStack_130;\n        do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');\n      }" { (expression_statement "pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_;" (assignment_expression "pmVar19 = (mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_" identifier = (binary_expression "(mbuiter_multi *)(uint)*(_Bool *)auStack_80._12_4_" (cast_expression "(mbuiter_multi *)(uint)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(_Bool *)auStack_80._12_4_" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_80._12_4_" identifier . field_identifier)))) ;) (if_statement "if ((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0) break;" if (parenthesized_expression "((*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0)" ( (binary_expression "(*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1)" ( (binary_expression "*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f) & 1" (binary_expression "*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4) >>\n             ((uint)pmVar19 & 0x1f)" (pointer_expression "*(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4)" * (cast_expression "(uint *)(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4)" ( (binary_expression "iStack_12c + (uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4" identifier + (binary_expression "(uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5) * 4" (call_expression "(uint)(byte)(*(_Bool *)auStack_80._12_4_ >> 5)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(*(_Bool *)auStack_80._12_4_ >> 5)" ( (binary_expression "*(_Bool *)auStack_80._12_4_ >> 5" (pointer_expression "*(_Bool *)auStack_80._12_4_" * (cast_expression "(_Bool *)auStack_80._12_4_" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_80._12_4_" identifier . field_identifier))) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "((uint)pmVar19 & 0x1f)" ( (binary_expression "(uint)pmVar19 & 0x1f" (cast_expression "(uint)pmVar19" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pmStack_134 = (mbuiter_multi *)auStack_80._12_4_;" (assignment_expression "pmStack_134 = (mbuiter_multi *)auStack_80._12_4_" identifier = (cast_expression "(mbuiter_multi *)auStack_80._12_4_" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_80._12_4_" identifier . field_identifier))) ;) (expression_statement "pmStack_130 = in_t5;" (assignment_expression "pmStack_130 = in_t5" identifier = identifier) ;) (expression_statement "iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6);" (assignment_expression "iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s6)" identifier = (call_expression "(**(code **)(pcVar32 + -0x7cf4))(unaff_s6)" (parenthesized_expression "(**(code **)(pcVar32 + -0x7cf4))" ( (pointer_expression "**(code **)(pcVar32 + -0x7cf4)" * (pointer_expression "*(code **)(pcVar32 + -0x7cf4)" * (cast_expression "(code **)(pcVar32 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7cf4)" ( (binary_expression "pcVar32 + -0x7cf4" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (if_statement "if (iVar7 == 0) goto LAB_000180a8;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000180a8;" goto statement_identifier ;)) (expression_statement "cStack_84 = '\x01';" (assignment_expression "cStack_84 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pmVar19 = pmStack_134;" (assignment_expression "pmVar19 = pmStack_134" identifier = identifier) ;) (expression_statement "in_t5 = pmStack_130;" (assignment_expression "in_t5 = pmStack_130" identifier = identifier) ;) (do_statement "do {\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        } while (cStack_84 != '\0');" do (compound_statement "{\n          pcVar33 = *(code **)(pcVar32 + -0x7d40);\nLAB_00017b90:\n          pmStack_134 = in_t5;\n          pmStack_130 = pmVar19;\n          sVar6 = (*pcVar33)();\n          sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);\n          pmVar19 = pmStack_130;\n          pmVar25 = unaff_s6;\n          pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);\n          pmVar4 = apmStack_68[0];\n          in_t5 = pmStack_134;\n          if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }\n          if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }\n          pmStack_70 = (mbuiter_multi *)0x1;\n          unaff_s3 = apmStack_68[0];\n          if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;\n          if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;\nLAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);\n          unaff_s7 = (mbuiter_multi *)0x1;\n          cStack_a4 = '\x01';\n          iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);\n          if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }\n          cStack_b0 = '\x01';\n          in_t5 = pmStack_130;\n          pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);\n          if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017b60:\n          cStack_b0 = '\0';\n          unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n          auStack_80[8] = '\0';\n          pmStack_ac = unaff_s3;\n          pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n          auStack_80._12_4_ = pmVar19;\n        }" { (expression_statement "pcVar33 = *(code **)(pcVar32 + -0x7d40);" (assignment_expression "pcVar33 = *(code **)(pcVar32 + -0x7d40)" identifier = (pointer_expression "*(code **)(pcVar32 + -0x7d40)" * (cast_expression "(code **)(pcVar32 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7d40)" ( (binary_expression "pcVar32 + -0x7d40" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00017b90:\n          pmStack_134 = in_t5;" statement_identifier : (expression_statement "pmStack_134 = in_t5;" (assignment_expression "pmStack_134 = in_t5" identifier = identifier) ;)) (expression_statement "pmStack_130 = pmVar19;" (assignment_expression "pmStack_130 = pmVar19" identifier = identifier) ;) (expression_statement "sVar6 = (*pcVar33)();" (assignment_expression "sVar6 = (*pcVar33)()" identifier = (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "sVar6 = strnlen1(&pmStack_130->in_shift,sVar6);" (assignment_expression "sVar6 = strnlen1(&pmStack_130->in_shift,sVar6)" identifier = (call_expression "strnlen1(&pmStack_130->in_shift,sVar6)" identifier (argument_list "(&pmStack_130->in_shift,sVar6)" ( (pointer_expression "&pmStack_130->in_shift" & (field_expression "pmStack_130->in_shift" identifier -> field_identifier)) , identifier )))) ;) (expression_statement "pmVar19 = pmStack_130;" (assignment_expression "pmVar19 = pmStack_130" identifier = identifier) ;) (expression_statement "pmVar25 = unaff_s6;" (assignment_expression "pmVar25 = unaff_s6" identifier = identifier) ;) (expression_statement "pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6);" (assignment_expression "pmStack_70 = (mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6)" identifier = (cast_expression "(mbuiter_multi *)\n                       rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "rpl_mbrtowc((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6)" identifier (argument_list "((wchar_t *)unaff_s5,&pmStack_130->in_shift,sVar6,\n                                   (mbstate_t *)unaff_s6)" ( (cast_expression "(wchar_t *)unaff_s5" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&pmStack_130->in_shift" & (field_expression "pmStack_130->in_shift" identifier -> field_identifier)) , identifier , (cast_expression "(mbstate_t *)unaff_s6" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (expression_statement "pmVar4 = apmStack_68[0];" (assignment_expression "pmVar4 = apmStack_68[0]" identifier = (subscript_expression "apmStack_68[0]" identifier [ number_literal ])) ;) (expression_statement "in_t5 = pmStack_134;" (assignment_expression "in_t5 = pmStack_134" identifier = identifier) ;) (if_statement "if (pmStack_70 == (mbuiter_multi *)0xffffffff) {\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }" if (parenthesized_expression "(pmStack_70 == (mbuiter_multi *)0xffffffff)" ( (binary_expression "pmStack_70 == (mbuiter_multi *)0xffffffff" identifier == (cast_expression "(mbuiter_multi *)0xffffffff" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            bStack_6c = 0;\n            pmVar15 = (mbuiter_multi *)0x0;\n            pmStack_70 = (mbuiter_multi *)0x1;\n            auStack_80[8] = '\x01';\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }" { (expression_statement "bStack_6c = 0;" (assignment_expression "bStack_6c = 0" identifier = number_literal) ;) (expression_statement "pmVar15 = (mbuiter_multi *)0x0;" (assignment_expression "pmVar15 = (mbuiter_multi *)0x0" identifier = (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pmStack_70 = (mbuiter_multi *)0x1;" (assignment_expression "pmStack_70 = (mbuiter_multi *)0x1" identifier = (cast_expression "(mbuiter_multi *)0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "auStack_80[8] = '\x01';" (assignment_expression "auStack_80[8] = '\x01'" (subscript_expression "auStack_80[8]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_000178f4;" goto statement_identifier ;) })) (if_statement "if (pmStack_70 == (mbuiter_multi *)&SUB_fffffffe) {\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }" if (parenthesized_expression "(pmStack_70 == (mbuiter_multi *)&SUB_fffffffe)" ( (binary_expression "pmStack_70 == (mbuiter_multi *)&SUB_fffffffe" identifier == (cast_expression "(mbuiter_multi *)&SUB_fffffffe" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_fffffffe" & identifier))) )) (compound_statement "{\n            pmStack_130 = pmStack_134;\n            pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);\n            pmVar15 = (mbuiter_multi *)0x0;\n            bStack_6c = 0;\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto LAB_000178f4;\n          }" { (expression_statement "pmStack_130 = pmStack_134;" (assignment_expression "pmStack_130 = pmStack_134" identifier = identifier) ;) (expression_statement "pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_);" (assignment_expression "pmStack_70 = (mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_)" identifier = (cast_expression "(mbuiter_multi *)\n                         (**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(auStack_158._16_4_ + -0x7d94))(auStack_80._12_4_)" (parenthesized_expression "(**(code **)(auStack_158._16_4_ + -0x7d94))" ( (pointer_expression "**(code **)(auStack_158._16_4_ + -0x7d94)" * (pointer_expression "*(code **)(auStack_158._16_4_ + -0x7d94)" * (cast_expression "(code **)(auStack_158._16_4_ + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7d94)" ( (binary_expression "auStack_158._16_4_ + -0x7d94" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) )) (argument_list "(auStack_80._12_4_)" ( (field_expression "auStack_80._12_4_" identifier . field_identifier) ))))) ;) (expression_statement "pmVar15 = (mbuiter_multi *)0x0;" (assignment_expression "pmVar15 = (mbuiter_multi *)0x0" identifier = (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bStack_6c = 0;" (assignment_expression "bStack_6c = 0" identifier = number_literal) ;) (expression_statement "auStack_80[8] = '\x01';" (assignment_expression "auStack_80[8] = '\x01'" (subscript_expression "auStack_80[8]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "in_t5 = pmStack_130;" (assignment_expression "in_t5 = pmStack_130" identifier = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_000178f4;" goto statement_identifier ;) })) (if_statement "if (pmStack_70 != (mbuiter_multi *)0x0) {\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }" if (parenthesized_expression "(pmStack_70 != (mbuiter_multi *)0x0)" ( (binary_expression "pmStack_70 != (mbuiter_multi *)0x0" identifier != (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;\n            pmStack_130 = pmStack_134;\n            bStack_6c = 1;\n            iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);\n            if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }\n            auStack_80[8] = '\x01';\n            in_t5 = pmStack_130;\n            pcVar32 = (code *)auStack_158._16_4_;\n            goto joined_r0x000178ec;\n          }" { (labeled_statement "LAB_00017c00:\n            unaff_s7 = (mbuiter_multi *)0x1;" statement_identifier : (expression_statement "unaff_s7 = (mbuiter_multi *)0x1;" (assignment_expression "unaff_s7 = (mbuiter_multi *)0x1" identifier = (cast_expression "(mbuiter_multi *)0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pmStack_130 = pmStack_134;" (assignment_expression "pmStack_130 = pmStack_134" identifier = identifier) ;) (expression_statement "bStack_6c = 1;" (assignment_expression "bStack_6c = 1" identifier = number_literal) ;) (expression_statement "iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6);" (assignment_expression "iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6)" identifier = (call_expression "(**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s6)" (parenthesized_expression "(**(code **)(auStack_158._16_4_ + -0x7cf4))" ( (pointer_expression "**(code **)(auStack_158._16_4_ + -0x7cf4)" * (pointer_expression "*(code **)(auStack_158._16_4_ + -0x7cf4)" * (cast_expression "(code **)(auStack_158._16_4_ + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7cf4)" ( (binary_expression "auStack_158._16_4_ + -0x7cf4" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n              cStack_84 = '\0';\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              cStack_84 = '\0';\n            }" { (expression_statement "cStack_84 = '\0';" (assignment_expression "cStack_84 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "auStack_80[8] = '\x01';" (assignment_expression "auStack_80[8] = '\x01'" (subscript_expression "auStack_80[8]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "in_t5 = pmStack_130;" (assignment_expression "in_t5 = pmStack_130" identifier = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (goto_statement "goto joined_r0x000178ec;" goto statement_identifier ;) })) (expression_statement "pmStack_70 = (mbuiter_multi *)0x1;" (assignment_expression "pmStack_70 = (mbuiter_multi *)0x1" identifier = (cast_expression "(mbuiter_multi *)0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = apmStack_68[0];" (assignment_expression "unaff_s3 = apmStack_68[0]" identifier = (subscript_expression "apmStack_68[0]" identifier [ number_literal ])) ;) (if_statement "if (*(_Bool *)auStack_80._12_4_ != false) goto LAB_00018084;" if (parenthesized_expression "(*(_Bool *)auStack_80._12_4_ != false)" ( (binary_expression "*(_Bool *)auStack_80._12_4_ != false" (pointer_expression "*(_Bool *)auStack_80._12_4_" * (cast_expression "(_Bool *)auStack_80._12_4_" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_80._12_4_" identifier . field_identifier))) != false) )) (goto_statement "goto LAB_00018084;" goto statement_identifier ;)) (if_statement "if (apmStack_68[0] == (mbuiter_multi *)0x0) goto LAB_00017c00;" if (parenthesized_expression "(apmStack_68[0] == (mbuiter_multi *)0x0)" ( (binary_expression "apmStack_68[0] == (mbuiter_multi *)0x0" (subscript_expression "apmStack_68[0]" identifier [ number_literal ]) == (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017c00;" goto statement_identifier ;)) (labeled_statement "LAB_00017ae8:\n          do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);" statement_identifier : (do_statement "do {\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          } while (apmStack_a0[0] != (mbuiter_multi *)0x0);" do (compound_statement "{\n            pcVar32 = (code *)auStack_158._16_4_;\n            mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);\nLAB_00017af0:\n            pmVar15 = pmVar19;\n            if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }\nLAB_00017afc:\n            pmVar19 = pmStack_ac;\n            if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }\n            if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }\n            if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }\n            pmStack_130 = in_t5;\n            sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n            sVar6 = strnlen1(&pmVar19->in_shift,sVar6);\n            pmVar25 = unaff_s0;\n            puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);\n            unaff_s3 = apmStack_a0[0];\n            pmVar15 = pmStack_ac;\n            in_t5 = pmStack_130;\n            if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }\n            if (puStack_a8 != (undefined1 *)0x0) break;\n            puStack_a8 = (undefined1 *)0x1;\n            if (pmStack_ac->in_shift != false) goto LAB_00018084;\n          }" { (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (expression_statement "mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe);" (call_expression "mbuiter_multi_next((mbuiter_multi *)&SUB_fffffffe)" identifier (argument_list "((mbuiter_multi *)&SUB_fffffffe)" ( (cast_expression "(mbuiter_multi *)&SUB_fffffffe" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_fffffffe" & identifier)) ))) ;) (labeled_statement "LAB_00017af0:\n            pmVar15 = pmVar19;" statement_identifier : (expression_statement "pmVar15 = pmVar19;" (assignment_expression "pmVar15 = pmVar19" identifier = identifier) ;)) (if_statement "if (((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)) {\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }" if (parenthesized_expression "(((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0))" ( (binary_expression "((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7) &&\n               (pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)" (parenthesized_expression "((mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7)" ( (binary_expression "(mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch\n                 == unaff_s7" (cast_expression "(mbuiter_multi *)((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)->__wch" (parenthesized_expression "((anon_union_4_2_91654ee9_for___value *)&unaff_s3->state)" ( (cast_expression "(anon_union_4_2_91654ee9_for___value *)&unaff_s3->state" ( (type_descriptor "anon_union_4_2_91654ee9_for___value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s3->state" & (field_expression "unaff_s3->state" identifier -> field_identifier))) )) -> field_identifier)) == identifier) )) && (parenthesized_expression "(pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0)" ( (comma_expression "pmVar15 = pmStack_11c, pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0" (assignment_expression "pmVar15 = pmStack_11c" identifier = identifier) , (comma_expression "pmStack_134 = pmVar25, pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0" (assignment_expression "pmStack_134 = pmVar25" identifier = identifier) , (comma_expression "pmStack_130 = in_t5,\n               iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0" (assignment_expression "pmStack_130 = in_t5" identifier = identifier) , (comma_expression "iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7),\n               pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0" (assignment_expression "iVar7 = (**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7)" identifier = (call_expression "(**(code **)(pcVar32 + -0x7d10))\n                                 (*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7)" (parenthesized_expression "(**(code **)(pcVar32 + -0x7d10))" ( (pointer_expression "**(code **)(pcVar32 + -0x7d10)" * (pointer_expression "*(code **)(pcVar32 + -0x7d10)" * (cast_expression "(code **)(pcVar32 + -0x7d10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7d10)" ( (binary_expression "pcVar32 + -0x7d10" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)unaff_s3,pmStack_11c,unaff_s7)" ( (pointer_expression "*(undefined4 *)unaff_s3" * (cast_expression "(undefined4 *)unaff_s3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , identifier )))) , (comma_expression "pmVar25 = pmStack_134, in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0" (assignment_expression "pmVar25 = pmStack_134" identifier = identifier) , (comma_expression "in_t5 = pmStack_130, pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0" (assignment_expression "in_t5 = pmStack_130" identifier = identifier) , (comma_expression "pcVar32 = (code *)auStack_158._16_4_,\n               iVar7 == 0" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) , (binary_expression "iVar7 == 0" identifier == number_literal)))))))) ))) )) (compound_statement "{\n              in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;\n              auStack_80[8] = '\0';\n              auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);\n              pmVar19 = pmVar28;\n              if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;\n              goto LAB_00017974;\n            }" { (expression_statement "in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1;" (assignment_expression "in_t5 = (mbuiter_multi *)&pmStack_130->field_0x1" identifier = (cast_expression "(mbuiter_multi *)&pmStack_130->field_0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pmStack_130->field_0x1" & (field_expression "pmStack_130->field_0x1" identifier -> field_identifier)))) ;) (expression_statement "auStack_80[8] = '\0';" (assignment_expression "auStack_80[8] = '\0'" (subscript_expression "auStack_80[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);" (assignment_expression "auStack_80._12_4_ =\n                   (mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8)" (field_expression "auStack_80._12_4_" identifier . field_identifier) = (cast_expression "(mbuiter_multi *)\n                   ((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8)" ( (binary_expression "(unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8" (binary_expression "(unaff_s7->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1)" (field_expression "(unaff_s7->cur).buf" (parenthesized_expression "(unaff_s7->cur)" ( (field_expression "unaff_s7->cur" identifier -> field_identifier) )) . field_identifier) + (cast_expression "(int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((mbchar *)(auStack_80._12_4_ + 0x10) + -1)" ( (binary_expression "(mbchar *)(auStack_80._12_4_ + 0x10) + -1" (cast_expression "(mbchar *)(auStack_80._12_4_ + 0x10)" ( (type_descriptor "mbchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_80._12_4_ + 0x10)" ( (binary_expression "auStack_80._12_4_ + 0x10" (field_expression "auStack_80._12_4_" identifier . field_identifier) + number_literal) ))) + number_literal) )))) + number_literal) )))) ;) (expression_statement "pmVar19 = pmVar28;" (assignment_expression "pmVar19 = pmVar28" identifier = identifier) ;) (if_statement "if ((mbuiter_multi *)puStack_138 == in_t5) goto LAB_00017c74;" if (parenthesized_expression "((mbuiter_multi *)puStack_138 == in_t5)" ( (binary_expression "(mbuiter_multi *)puStack_138 == in_t5" (cast_expression "(mbuiter_multi *)puStack_138" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (goto_statement "goto LAB_00017c74;" goto statement_identifier ;)) (goto_statement "goto LAB_00017974;" goto statement_identifier ;) })) (labeled_statement "LAB_00017afc:\n            pmVar19 = pmStack_ac;" statement_identifier : (expression_statement "pmVar19 = pmStack_ac;" (assignment_expression "pmVar19 = pmStack_ac" identifier = identifier) ;)) (if_statement "if (in_t5 != (mbuiter_multi *)0x0) {\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }" if (parenthesized_expression "(in_t5 != (mbuiter_multi *)0x0)" ( (binary_expression "in_t5 != (mbuiter_multi *)0x0" identifier != (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));\n              pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);\n              pmVar19 = pmVar15;\n              if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }\n              goto joined_r0x000178d8;\n            }" { (expression_statement "unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10));" (assignment_expression "unaff_s7 = *(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10))" identifier = (pointer_expression "*(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10))" * (cast_expression "(mbuiter_multi **)\n                          (pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10))" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10))" ( (binary_expression "pcStack_128 + -0x10 + (int)((pmVar25->cur).buf + -0x10)" (binary_expression "pcStack_128 + -0x10" identifier + number_literal) + (cast_expression "(int)((pmVar25->cur).buf + -0x10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((pmVar25->cur).buf + -0x10)" ( (binary_expression "(pmVar25->cur).buf + -0x10" (field_expression "(pmVar25->cur).buf" (parenthesized_expression "(pmVar25->cur)" ( (field_expression "pmVar25->cur" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) ))))) ;) (expression_statement "pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7);" (assignment_expression "pmStack_130 = (mbuiter_multi *)((int)in_t5 - (int)unaff_s7)" identifier = (cast_expression "(mbuiter_multi *)((int)in_t5 - (int)unaff_s7)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_t5 - (int)unaff_s7)" ( (binary_expression "(int)in_t5 - (int)unaff_s7" (cast_expression "(int)in_t5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pmVar19 = pmVar15;" (assignment_expression "pmVar19 = pmVar15" identifier = identifier) ;) (if_statement "if (unaff_s7 != (mbuiter_multi *)0x0) {\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }" if (parenthesized_expression "(unaff_s7 != (mbuiter_multi *)0x0)" ( (binary_expression "unaff_s7 != (mbuiter_multi *)0x0" identifier != (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                if (cStack_b0 == '\0') goto LAB_00017d0c;\n                unaff_s3 = apmStack_a0[0];\n                if (cStack_a4 != '\0') goto LAB_00017d54;\n                goto LAB_00017cf4;\n              }" { (if_statement "if (cStack_b0 == '\0') goto LAB_00017d0c;" if (parenthesized_expression "(cStack_b0 == '\0')" ( (binary_expression "cStack_b0 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00017d0c;" goto statement_identifier ;)) (expression_statement "unaff_s3 = apmStack_a0[0];" (assignment_expression "unaff_s3 = apmStack_a0[0]" identifier = (subscript_expression "apmStack_a0[0]" identifier [ number_literal ])) ;) (if_statement "if (cStack_a4 != '\0') goto LAB_00017d54;" if (parenthesized_expression "(cStack_a4 != '\0')" ( (binary_expression "cStack_a4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00017d54;" goto statement_identifier ;)) (goto_statement "goto LAB_00017cf4;" goto statement_identifier ;) })) (goto_statement "goto joined_r0x000178d8;" goto statement_identifier ;) })) (if_statement "if (cStack_b0 != '\0') {\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }" if (parenthesized_expression "(cStack_b0 != '\0')" ( (binary_expression "cStack_b0 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              unaff_s3 = apmStack_a0[0];\n              if (cStack_a4 != '\0') goto LAB_00017b54;\n              goto LAB_00017b60;\n            }" { (expression_statement "unaff_s3 = apmStack_a0[0];" (assignment_expression "unaff_s3 = apmStack_a0[0]" identifier = (subscript_expression "apmStack_a0[0]" identifier [ number_literal ])) ;) (if_statement "if (cStack_a4 != '\0') goto LAB_00017b54;" if (parenthesized_expression "(cStack_a4 != '\0')" ( (binary_expression "cStack_a4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00017b54;" goto statement_identifier ;)) (goto_statement "goto LAB_00017b60;" goto statement_identifier ;) })) (if_statement "if (auStack_d4[0x18] == '\0') {\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }" if (parenthesized_expression "(auStack_d4[0x18] == '\0')" ( (binary_expression "auStack_d4[0x18] == '\0'" (subscript_expression "auStack_d4[0x18]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }\n              pmStack_130 = in_t5;\n              iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);\n              unaff_s3 = pmVar19;\n              pcVar32 = (code *)auStack_158._16_4_;\n              if (iVar7 == 0) goto LAB_000180a8;\n              auStack_d4[0x18] = '\x01';\n              in_t5 = pmStack_130;\n            }" { (if_statement "if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0) {\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }" if (parenthesized_expression "((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0)" ( (binary_expression "(*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1) != 0" (parenthesized_expression "(*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1)" ( (binary_expression "*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f) & 1" (binary_expression "*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n                   (pmStack_ac->in_shift & 0x1f)" (pointer_expression "*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4)" * (cast_expression "(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4)" ( (binary_expression "iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4" identifier + (binary_expression "(uint)(byte)(pmStack_ac->in_shift >> 5) * 4" (call_expression "(uint)(byte)(pmStack_ac->in_shift >> 5)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(pmStack_ac->in_shift >> 5)" ( (binary_expression "pmStack_ac->in_shift >> 5" (field_expression "pmStack_ac->in_shift" identifier -> field_identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(pmStack_ac->in_shift & 0x1f)" ( (binary_expression "pmStack_ac->in_shift & 0x1f" (field_expression "pmStack_ac->in_shift" identifier -> field_identifier) & number_literal) ))) & number_literal) )) != number_literal) )) (compound_statement "{\n                puStack_a8 = (undefined1 *)0x1;\n                cStack_a4 = '\x01';\n                cStack_b0 = '\x01';\n                apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n                goto LAB_00017b54;\n              }" { (expression_statement "puStack_a8 = (undefined1 *)0x1;" (assignment_expression "puStack_a8 = (undefined1 *)0x1" identifier = (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "cStack_a4 = '\x01';" (assignment_expression "cStack_a4 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "cStack_b0 = '\x01';" (assignment_expression "cStack_b0 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;" (assignment_expression "apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift" (subscript_expression "apmStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(mbuiter_multi *)(int)pmStack_ac->in_shift" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)pmStack_ac->in_shift" ( (type_descriptor "int" primitive_type) ) (field_expression "pmStack_ac->in_shift" identifier -> field_identifier)))) ;) (expression_statement "unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;" (assignment_expression "unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift" identifier = (cast_expression "(mbuiter_multi *)(int)pmStack_ac->in_shift" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)pmStack_ac->in_shift" ( (type_descriptor "int" primitive_type) ) (field_expression "pmStack_ac->in_shift" identifier -> field_identifier)))) ;) (goto_statement "goto LAB_00017b54;" goto statement_identifier ;) })) (expression_statement "pmStack_130 = in_t5;" (assignment_expression "pmStack_130 = in_t5" identifier = identifier) ;) (expression_statement "iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0);" (assignment_expression "iVar7 = (**(code **)(pcVar32 + -0x7cf4))(unaff_s0)" identifier = (call_expression "(**(code **)(pcVar32 + -0x7cf4))(unaff_s0)" (parenthesized_expression "(**(code **)(pcVar32 + -0x7cf4))" ( (pointer_expression "**(code **)(pcVar32 + -0x7cf4)" * (pointer_expression "*(code **)(pcVar32 + -0x7cf4)" * (cast_expression "(code **)(pcVar32 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7cf4)" ( (binary_expression "pcVar32 + -0x7cf4" identifier + number_literal) ))))) )) (argument_list "(unaff_s0)" ( identifier )))) ;) (expression_statement "unaff_s3 = pmVar19;" (assignment_expression "unaff_s3 = pmVar19" identifier = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (if_statement "if (iVar7 == 0) goto LAB_000180a8;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000180a8;" goto statement_identifier ;)) (expression_statement "auStack_d4[0x18] = '\x01';" (assignment_expression "auStack_d4[0x18] = '\x01'" (subscript_expression "auStack_d4[0x18]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "in_t5 = pmStack_130;" (assignment_expression "in_t5 = pmStack_130" identifier = identifier) ;) })) (expression_statement "pmStack_130 = in_t5;" (assignment_expression "pmStack_130 = in_t5" identifier = identifier) ;) (expression_statement "sVar6 = (**(code **)(pcVar32 + -0x7d40))();" (assignment_expression "sVar6 = (**(code **)(pcVar32 + -0x7d40))()" identifier = (call_expression "(**(code **)(pcVar32 + -0x7d40))()" (parenthesized_expression "(**(code **)(pcVar32 + -0x7d40))" ( (pointer_expression "**(code **)(pcVar32 + -0x7d40)" * (pointer_expression "*(code **)(pcVar32 + -0x7d40)" * (cast_expression "(code **)(pcVar32 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7d40)" ( (binary_expression "pcVar32 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "sVar6 = strnlen1(&pmVar19->in_shift,sVar6);" (assignment_expression "sVar6 = strnlen1(&pmVar19->in_shift,sVar6)" identifier = (call_expression "strnlen1(&pmVar19->in_shift,sVar6)" identifier (argument_list "(&pmVar19->in_shift,sVar6)" ( (pointer_expression "&pmVar19->in_shift" & (field_expression "pmVar19->in_shift" identifier -> field_identifier)) , identifier )))) ;) (expression_statement "pmVar25 = unaff_s0;" (assignment_expression "pmVar25 = unaff_s0" identifier = identifier) ;) (expression_statement "puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0);" (assignment_expression "puStack_a8 = (undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0)" identifier = (cast_expression "(undefined1 *)\n                         rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "rpl_mbrtowc((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0)" identifier (argument_list "((wchar_t *)pmVar28,&pmVar19->in_shift,sVar6,\n                                     (mbstate_t *)unaff_s0)" ( (cast_expression "(wchar_t *)pmVar28" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&pmVar19->in_shift" & (field_expression "pmVar19->in_shift" identifier -> field_identifier)) , identifier , (cast_expression "(mbstate_t *)unaff_s0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (expression_statement "unaff_s3 = apmStack_a0[0];" (assignment_expression "unaff_s3 = apmStack_a0[0]" identifier = (subscript_expression "apmStack_a0[0]" identifier [ number_literal ])) ;) (expression_statement "pmVar15 = pmStack_ac;" (assignment_expression "pmVar15 = pmStack_ac" identifier = identifier) ;) (expression_statement "in_t5 = pmStack_130;" (assignment_expression "in_t5 = pmStack_130" identifier = identifier) ;) (if_statement "if (puStack_a8 == (undefined1 *)0xffffffff) {\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }" if (parenthesized_expression "(puStack_a8 == (undefined1 *)0xffffffff)" ( (binary_expression "puStack_a8 == (undefined1 *)0xffffffff" identifier == (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              cStack_a4 = '\0';\n              puStack_a8 = (undefined1 *)0x1;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }" { (expression_statement "cStack_a4 = '\0';" (assignment_expression "cStack_a4 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puStack_a8 = (undefined1 *)0x1;" (assignment_expression "puStack_a8 = (undefined1 *)0x1" identifier = (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pmStack_ac = pmVar15;" (assignment_expression "pmStack_ac = pmVar15" identifier = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_00017b60;" goto statement_identifier ;) })) (if_statement "if (puStack_a8 == &SUB_fffffffe) {\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }" if (parenthesized_expression "(puStack_a8 == &SUB_fffffffe)" ( (binary_expression "puStack_a8 == &SUB_fffffffe" identifier == (pointer_expression "&SUB_fffffffe" & identifier)) )) (compound_statement "{\n              puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n              cStack_a4 = '\0';\n              in_t5 = pmStack_130;\n              pmStack_ac = pmVar15;\n              pcVar32 = (code *)auStack_158._16_4_;\n              goto LAB_00017b60;\n            }" { (expression_statement "puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);" (assignment_expression "puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac)" identifier = (cast_expression "(undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac)" (parenthesized_expression "(**(code **)(auStack_158._16_4_ + -0x7d94))" ( (pointer_expression "**(code **)(auStack_158._16_4_ + -0x7d94)" * (pointer_expression "*(code **)(auStack_158._16_4_ + -0x7d94)" * (cast_expression "(code **)(auStack_158._16_4_ + -0x7d94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7d94)" ( (binary_expression "auStack_158._16_4_ + -0x7d94" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) )) (argument_list "(pmStack_ac)" ( identifier ))))) ;) (expression_statement "cStack_a4 = '\0';" (assignment_expression "cStack_a4 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "in_t5 = pmStack_130;" (assignment_expression "in_t5 = pmStack_130" identifier = identifier) ;) (expression_statement "pmStack_ac = pmVar15;" (assignment_expression "pmStack_ac = pmVar15" identifier = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_00017b60;" goto statement_identifier ;) })) (if_statement "if (puStack_a8 != (undefined1 *)0x0) break;" if (parenthesized_expression "(puStack_a8 != (undefined1 *)0x0)" ( (binary_expression "puStack_a8 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puStack_a8 = (undefined1 *)0x1;" (assignment_expression "puStack_a8 = (undefined1 *)0x1" identifier = (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pmStack_ac->in_shift != false) goto LAB_00018084;" if (parenthesized_expression "(pmStack_ac->in_shift != false)" ( (binary_expression "pmStack_ac->in_shift != false" (field_expression "pmStack_ac->in_shift" identifier -> field_identifier) != false) )) (goto_statement "goto LAB_00018084;" goto statement_identifier ;)) }) while (parenthesized_expression "(apmStack_a0[0] != (mbuiter_multi *)0x0)" ( (binary_expression "apmStack_a0[0] != (mbuiter_multi *)0x0" (subscript_expression "apmStack_a0[0]" identifier [ number_literal ]) != (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (expression_statement "unaff_s7 = (mbuiter_multi *)0x1;" (assignment_expression "unaff_s7 = (mbuiter_multi *)0x1" identifier = (cast_expression "(mbuiter_multi *)0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "cStack_a4 = '\x01';" (assignment_expression "cStack_a4 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0);" (assignment_expression "iVar7 = (**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0)" identifier = (call_expression "(**(code **)(auStack_158._16_4_ + -0x7cf4))(unaff_s0)" (parenthesized_expression "(**(code **)(auStack_158._16_4_ + -0x7cf4))" ( (pointer_expression "**(code **)(auStack_158._16_4_ + -0x7cf4)" * (pointer_expression "*(code **)(auStack_158._16_4_ + -0x7cf4)" * (cast_expression "(code **)(auStack_158._16_4_ + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7cf4)" ( (binary_expression "auStack_158._16_4_ + -0x7cf4" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) )) (argument_list "(unaff_s0)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n            auStack_d4[0x18] = '\0';\n          }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            auStack_d4[0x18] = '\0';\n          }" { (expression_statement "auStack_d4[0x18] = '\0';" (assignment_expression "auStack_d4[0x18] = '\0'" (subscript_expression "auStack_d4[0x18]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "cStack_b0 = '\x01';" (assignment_expression "cStack_b0 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "in_t5 = pmStack_130;" (assignment_expression "in_t5 = pmStack_130" identifier = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (labeled_statement "LAB_00017b54:\n          pcVar33 = *(code **)(pcVar32 + -0x7e50);" statement_identifier : (expression_statement "pcVar33 = *(code **)(pcVar32 + -0x7e50);" (assignment_expression "pcVar33 = *(code **)(pcVar32 + -0x7e50)" identifier = (pointer_expression "*(code **)(pcVar32 + -0x7e50)" * (cast_expression "(code **)(pcVar32 + -0x7e50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7e50)" ( (binary_expression "pcVar32 + -0x7e50" identifier + number_literal) ))))) ;)) (if_statement "if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;" if (parenthesized_expression "(unaff_s3 == (mbuiter_multi *)0x0)" ( (binary_expression "unaff_s3 == (mbuiter_multi *)0x0" identifier == (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017d5c;" goto statement_identifier ;)) (labeled_statement "LAB_00017b60:\n          cStack_b0 = '\0';" statement_identifier : (expression_statement "cStack_b0 = '\0';" (assignment_expression "cStack_b0 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);" (assignment_expression "unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18)" identifier = (cast_expression "(mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18)" ( (binary_expression "puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18" (binary_expression "puStack_a8 + (int)(&pmStack_ac->cur + -1)" identifier + (cast_expression "(int)(&pmStack_ac->cur + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(&pmStack_ac->cur + -1)" ( (binary_expression "&pmStack_ac->cur + -1" (pointer_expression "&pmStack_ac->cur" & (field_expression "pmStack_ac->cur" identifier -> field_identifier)) + number_literal) )))) + number_literal) )))) ;) (expression_statement "auStack_80[8] = '\0';" (assignment_expression "auStack_80[8] = '\0'" (subscript_expression "auStack_80[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pmStack_ac = unaff_s3;" (assignment_expression "pmStack_ac = unaff_s3" identifier = identifier) ;) (expression_statement "pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8);" (assignment_expression "pmVar19 = (mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8)" identifier = (cast_expression "(mbuiter_multi *)\n                    ((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8)" ( (binary_expression "(pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1) + -8" (binary_expression "(pmStack_70->cur).buf + (int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1)" (field_expression "(pmStack_70->cur).buf" (parenthesized_expression "(pmStack_70->cur)" ( (field_expression "pmStack_70->cur" identifier -> field_identifier) )) . field_identifier) + (cast_expression "(int)((mbchar *)(auStack_80._12_4_ + 0x10) + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((mbchar *)(auStack_80._12_4_ + 0x10) + -1)" ( (binary_expression "(mbchar *)(auStack_80._12_4_ + 0x10) + -1" (cast_expression "(mbchar *)(auStack_80._12_4_ + 0x10)" ( (type_descriptor "mbchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_80._12_4_ + 0x10)" ( (binary_expression "auStack_80._12_4_ + 0x10" (field_expression "auStack_80._12_4_" identifier . field_identifier) + number_literal) ))) + number_literal) )))) + number_literal) )))) ;) (expression_statement "auStack_80._12_4_ = pmVar19;" (assignment_expression "auStack_80._12_4_ = pmVar19" (field_expression "auStack_80._12_4_" identifier . field_identifier) = identifier) ;) }) while (parenthesized_expression "(cStack_84 != '\0')" ( (binary_expression "cStack_84 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (expression_statement "pmStack_70 = (mbuiter_multi *)0x1;" (assignment_expression "pmStack_70 = (mbuiter_multi *)0x1" identifier = (cast_expression "(mbuiter_multi *)0x1" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bStack_6c = 1;" (assignment_expression "bStack_6c = 1" identifier = number_literal) ;) (expression_statement "auStack_80[8] = '\x01';" (assignment_expression "auStack_80[8] = '\x01'" (subscript_expression "auStack_80[8]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;" (assignment_expression "apmStack_68[0] = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_" (subscript_expression "apmStack_68[0]" identifier [ number_literal ]) = (cast_expression "(mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(_Bool *)auStack_80._12_4_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(_Bool *)auStack_80._12_4_" * (cast_expression "(_Bool *)auStack_80._12_4_" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_80._12_4_" identifier . field_identifier)))))) ;) (expression_statement "pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_;" (assignment_expression "pmVar4 = (mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_" identifier = (cast_expression "(mbuiter_multi *)(int)*(_Bool *)auStack_80._12_4_" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(_Bool *)auStack_80._12_4_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(_Bool *)auStack_80._12_4_" * (cast_expression "(_Bool *)auStack_80._12_4_" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_80._12_4_" identifier . field_identifier)))))) ;) (goto_statement "goto joined_r0x000178ec;" goto statement_identifier ;) })) (labeled_statement "LAB_00017c74:\n    auStack_80[8] = '\0';" statement_identifier : (expression_statement "auStack_80[8] = '\0';" (assignment_expression "auStack_80[8] = '\0'" (subscript_expression "auStack_80[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "*(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac;" (assignment_expression "*(mbuiter_multi **)auStack_158._24_4_ = pmStack_ac" (pointer_expression "*(mbuiter_multi **)auStack_158._24_4_" * (cast_expression "(mbuiter_multi **)auStack_158._24_4_" ( (type_descriptor "mbuiter_multi **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "auStack_158._24_4_" identifier . field_identifier))) = identifier) ;) (expression_statement "freea(pmStack_124);" (call_expression "freea(pmStack_124)" identifier (argument_list "(pmStack_124)" ( identifier ))) ;) (goto_statement "goto LAB_000179e4;" goto statement_identifier ;) })) (ERROR "freea(pmStack_124);\n  unaff_s3 = (mbuiter_multi *)0x0;\n  pmVar15 = pmVar19;\n  pmVar19 = pmVar28;\n  goto LAB_000179e4;\nLAB_00017eec:\n  *(mbuiter_multi **)(pcStack_128 + (int)unaff_s7 * 4) = unaff_s7;\nLAB_0001786c:\n  unaff_s7 = (mbuiter_multi *)((int)unaff_s7 + 1);\n  pmVar15 = pmVar28;\n  if ((mbuiter_multi *)puStack_138 == unaff_s7) goto LAB_0001787c;\n  goto LAB_000177e0;\nLAB_00017d5c:\n  (*pcVar33)();\nLAB_00017d64:\n  iVar7 = (*pcVar33)(unaff_s0);\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (iVar7 == 0) goto LAB_000180a8;\n  auStack_d4[0x18] = '\x01';\n  pmVar15 = unaff_s3;\nLAB_00017d7c:\n  sVar6 = (**(code **)(pcVar32 + -0x7d40))();\n  sVar6 = strnlen1(&pmVar15->in_shift,sVar6);\n  puStack_a8 = (undefined1 *)\n               rpl_mbrtowc((wchar_t *)pmVar28,&pmVar15->in_shift,sVar6,(mbstate_t *)unaff_s0);\n  unaff_s3 = apmStack_a0[0];\n  pmVar19 = pmStack_ac;\n  pcVar32 = (code *)auStack_158._16_4_;\n  if (puStack_a8 == (undefined1 *)0xffffffff) {\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_a4 = '\0';\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)&pmStack_ac->field_0x1;\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 != (mbuiter_multi *)0x0) goto LAB_00017d0c;\nLAB_00017e34:\n    cStack_b0 = '\0';\n    pmVar19 = pmVar15;\n    in_t5 = pmStack_130;\n    pmStack_ac = unaff_s3;\n    goto joined_r0x000178d8;\n  }\n  if (puStack_a8 == &SUB_fffffffe) {\n    puStack_a8 = (undefined1 *)(**(code **)(auStack_158._16_4_ + -0x7d94))(pmStack_ac);\n    cStack_a4 = '\0';\n    pmStack_ac = pmVar19;\n    pcVar32 = (code *)auStack_158._16_4_;\n    goto LAB_00017cf4;\n  }\n  if (puStack_a8 == (undefined1 *)0x0) {\n    puStack_a8 = (undefined1 *)0x1;\n    if (pmStack_ac->in_shift != false) goto LAB_00018084;\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n    if (apmStack_a0[0] != (mbuiter_multi *)0x0) goto code_r0x00017e7c;\n  }\n  else {\n    pcVar33 = *(code **)(auStack_158._16_4_ + -0x7cf4);\n  }\n  cStack_a4 = '\x01';\n  iVar7 = (*pcVar33)(unaff_s0);\n  pmVar15 = (mbuiter_multi *)0x1;\n  if (iVar7 != 0) {\n    auStack_d4[0x18] = '\0';\n  }\n  cStack_b0 = '\x01';\n  pcVar32 = (code *)auStack_158._16_4_;\nLAB_00017d54:" identifier ( identifier ) ; identifier = ( identifier * ) number_literal ; identifier = identifier ; identifier = identifier ; goto identifier ; identifier : * ( identifier * * ) ( identifier + ( primitive_type ) identifier * number_literal ) = identifier ; identifier : identifier = ( identifier * ) ( ( primitive_type ) identifier + number_literal ) ; identifier = identifier ; if ( ( identifier * ) identifier == identifier ) goto identifier ; goto identifier ; identifier : ( * identifier ) ( ) ; identifier : identifier = ( * identifier ) ( identifier ) ; identifier = ( identifier * ) identifier . identifier ; if ( identifier == number_literal ) goto identifier ; identifier [ number_literal ] = ' ERROR identifier ' ; identifier = identifier ; identifier : identifier = ( * * ( identifier * * ) ( identifier + number_literal ) ) ( ) ; identifier = identifier ( & identifier -> identifier , identifier ) ; identifier = ( identifier * ) identifier ( ( identifier * ) identifier , & identifier -> identifier , identifier , ( identifier * ) identifier ) ; identifier = identifier [ number_literal ] ; identifier = identifier ; identifier = ( identifier * ) identifier . identifier ; if ( identifier == ( identifier * ) number_literal ) { identifier = ( identifier * ) ( identifier [ number_literal ] . identifier . identifier + number_literal ) ; identifier = ' ERROR number_literal ' ; identifier = ( identifier * ) number_literal ; identifier = ' ERROR number_literal ' ; identifier = ( identifier * ) & identifier -> identifier ; identifier = identifier ; if ( identifier != ( identifier * ) number_literal ) goto identifier ; identifier : identifier = ' ERROR number_literal ' ; identifier = identifier ; identifier = identifier ; identifier = identifier ; goto identifier ; } if ( identifier == & identifier ) { identifier = ( identifier * ) ( * * ( identifier * * ) ( identifier . identifier + number_literal ) ) ( identifier ) ; identifier = ' ERROR number_literal ' ; identifier = identifier ; identifier = ( identifier * ) identifier . identifier ; goto identifier ; } if ( identifier == ( identifier * ) number_literal ) { identifier = ( identifier * ) number_literal ; if ( identifier -> identifier != false ) goto identifier ; identifier = * ( identifier * * ) ( identifier . identifier + number_literal ) ; if ( identifier [ number_literal ] != ( identifier * ) number_literal ) goto identifier ; } else { identifier = * ( identifier * * ) ( identifier . identifier + number_literal ) ; } identifier = ' ERROR identifier ' ; identifier = ( * identifier ) ( identifier ) ; identifier = ( identifier * ) number_literal ; if ( identifier != number_literal ) { identifier [ number_literal ] = ' ERROR number_literal ' ; } identifier = ' ERROR identifier ' ; identifier = ( identifier * ) identifier . identifier ; identifier :) while (parenthesized_expression "( true )" ( true )) ;) (compound_statement "{\n    pcVar33 = *(code **)(pcVar32 + -0x7e50);\n    if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;\nLAB_00017cf4:\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);\n    cStack_b0 = '\0';\n    unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);\n    pmStack_ac = unaff_s3;\n    if (unaff_s7 == (mbuiter_multi *)0x0) goto LAB_00017e34;\nLAB_00017d0c:\n    pmVar15 = pmStack_ac;\n    if (auStack_d4[0x18] != '\0') break;\n    pmVar15 = (mbuiter_multi *)(uint)pmStack_ac->in_shift;\n    pcVar33 = *(code **)(pcVar32 + -0x7cf4);\n    unaff_s3 = pmStack_ac;\n    if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1) == 0) goto LAB_00017d64;\n    puStack_a8 = (undefined1 *)0x1;\n    cStack_a4 = '\x01';\n    cStack_b0 = '\x01';\n    apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n    unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;\n  }" { (expression_statement "pcVar33 = *(code **)(pcVar32 + -0x7e50);" (assignment_expression "pcVar33 = *(code **)(pcVar32 + -0x7e50)" identifier = (pointer_expression "*(code **)(pcVar32 + -0x7e50)" * (cast_expression "(code **)(pcVar32 + -0x7e50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7e50)" ( (binary_expression "pcVar32 + -0x7e50" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s3 == (mbuiter_multi *)0x0) goto LAB_00017d5c;" if (parenthesized_expression "(unaff_s3 == (mbuiter_multi *)0x0)" ( (binary_expression "unaff_s3 == (mbuiter_multi *)0x0" identifier == (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017d5c;" goto statement_identifier ;)) (labeled_statement "LAB_00017cf4:\n    unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);" statement_identifier : (expression_statement "unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17);" (assignment_expression "unaff_s7 = (mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17)" identifier = (cast_expression "(mbuiter_multi *)(unaff_s7[-1].cur.buf + 0x17)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7[-1].cur.buf + 0x17)" ( (binary_expression "unaff_s7[-1].cur.buf + 0x17" (field_expression "unaff_s7[-1].cur.buf" (field_expression "unaff_s7[-1].cur" (subscript_expression "unaff_s7[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) + number_literal) )))) ;)) (expression_statement "cStack_b0 = '\0';" (assignment_expression "cStack_b0 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18);" (assignment_expression "unaff_s3 = (mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18)" identifier = (cast_expression "(mbuiter_multi *)(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18)" ( (binary_expression "puStack_a8 + (int)(&pmStack_ac->cur + -1) + 0x18" (binary_expression "puStack_a8 + (int)(&pmStack_ac->cur + -1)" identifier + (cast_expression "(int)(&pmStack_ac->cur + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(&pmStack_ac->cur + -1)" ( (binary_expression "&pmStack_ac->cur + -1" (pointer_expression "&pmStack_ac->cur" & (field_expression "pmStack_ac->cur" identifier -> field_identifier)) + number_literal) )))) + number_literal) )))) ;) (expression_statement "pmStack_ac = unaff_s3;" (assignment_expression "pmStack_ac = unaff_s3" identifier = identifier) ;) (if_statement "if (unaff_s7 == (mbuiter_multi *)0x0) goto LAB_00017e34;" if (parenthesized_expression "(unaff_s7 == (mbuiter_multi *)0x0)" ( (binary_expression "unaff_s7 == (mbuiter_multi *)0x0" identifier == (cast_expression "(mbuiter_multi *)0x0" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017e34;" goto statement_identifier ;)) (labeled_statement "LAB_00017d0c:\n    pmVar15 = pmStack_ac;" statement_identifier : (expression_statement "pmVar15 = pmStack_ac;" (assignment_expression "pmVar15 = pmStack_ac" identifier = identifier) ;)) (if_statement "if (auStack_d4[0x18] != '\0') break;" if (parenthesized_expression "(auStack_d4[0x18] != '\0')" ( (binary_expression "auStack_d4[0x18] != '\0'" (subscript_expression "auStack_d4[0x18]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "pmVar15 = (mbuiter_multi *)(uint)pmStack_ac->in_shift;" (assignment_expression "pmVar15 = (mbuiter_multi *)(uint)pmStack_ac->in_shift" identifier = (cast_expression "(mbuiter_multi *)(uint)pmStack_ac->in_shift" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pmStack_ac->in_shift" ( (type_descriptor "uint" type_identifier) ) (field_expression "pmStack_ac->in_shift" identifier -> field_identifier)))) ;) (expression_statement "pcVar33 = *(code **)(pcVar32 + -0x7cf4);" (assignment_expression "pcVar33 = *(code **)(pcVar32 + -0x7cf4)" identifier = (pointer_expression "*(code **)(pcVar32 + -0x7cf4)" * (cast_expression "(code **)(pcVar32 + -0x7cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7cf4)" ( (binary_expression "pcVar32 + -0x7cf4" identifier + number_literal) ))))) ;) (expression_statement "unaff_s3 = pmStack_ac;" (assignment_expression "unaff_s3 = pmStack_ac" identifier = identifier) ;) (if_statement "if ((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1) == 0) goto LAB_00017d64;" if (parenthesized_expression "((*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1)" ( (binary_expression "*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f) & 1" (binary_expression "*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4) >>\n         ((uint)pmVar15 & 0x1f)" (pointer_expression "*(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4)" * (cast_expression "(uint *)(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4)" ( (binary_expression "iStack_12c + (uint)(byte)(pmStack_ac->in_shift >> 5) * 4" identifier + (binary_expression "(uint)(byte)(pmStack_ac->in_shift >> 5) * 4" (call_expression "(uint)(byte)(pmStack_ac->in_shift >> 5)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(pmStack_ac->in_shift >> 5)" ( (binary_expression "pmStack_ac->in_shift >> 5" (field_expression "pmStack_ac->in_shift" identifier -> field_identifier) >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "((uint)pmVar15 & 0x1f)" ( (binary_expression "(uint)pmVar15 & 0x1f" (cast_expression "(uint)pmVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00017d64;" goto statement_identifier ;)) (expression_statement "puStack_a8 = (undefined1 *)0x1;" (assignment_expression "puStack_a8 = (undefined1 *)0x1" identifier = (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "cStack_a4 = '\x01';" (assignment_expression "cStack_a4 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "cStack_b0 = '\x01';" (assignment_expression "cStack_b0 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift;" (assignment_expression "apmStack_a0[0] = (mbuiter_multi *)(int)pmStack_ac->in_shift" (subscript_expression "apmStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(mbuiter_multi *)(int)pmStack_ac->in_shift" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)pmStack_ac->in_shift" ( (type_descriptor "int" primitive_type) ) (field_expression "pmStack_ac->in_shift" identifier -> field_identifier)))) ;) (expression_statement "unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift;" (assignment_expression "unaff_s3 = (mbuiter_multi *)(int)pmStack_ac->in_shift" identifier = (cast_expression "(mbuiter_multi *)(int)pmStack_ac->in_shift" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)pmStack_ac->in_shift" ( (type_descriptor "int" primitive_type) ) (field_expression "pmStack_ac->in_shift" identifier -> field_identifier)))) ;) }) (goto_statement "goto LAB_00017d7c;" goto statement_identifier ;) (labeled_statement "LAB_00018084:\n  pcVar32 = (code *)auStack_158._16_4_;" statement_identifier : (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;)) (expression_statement "(**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79f8,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb2,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);" (call_expression "(**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79f8,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb2,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0)" (parenthesized_expression "(**(code **)(auStack_158._16_4_ + -0x7e74))" ( (pointer_expression "**(code **)(auStack_158._16_4_ + -0x7e74)" * (pointer_expression "*(code **)(auStack_158._16_4_ + -0x7e74)" * (cast_expression "(code **)(auStack_158._16_4_ + -0x7e74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7e74)" ( (binary_expression "auStack_158._16_4_ + -0x7e74" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) )) (argument_list "(*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79f8,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb2,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0)" ( (binary_expression "*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79f8" (pointer_expression "*(int *)(auStack_158._16_4_ + -0x7fb0)" * (cast_expression "(int *)(auStack_158._16_4_ + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7fb0)" ( (binary_expression "auStack_158._16_4_ + -0x7fb0" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) )))) + number_literal) , (binary_expression "*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30" (pointer_expression "*(int *)(auStack_158._16_4_ + -0x7fb0)" * (cast_expression "(int *)(auStack_158._16_4_ + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7fb0)" ( (binary_expression "auStack_158._16_4_ + -0x7fb0" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0" (pointer_expression "*(int *)(auStack_158._16_4_ + -0x7fb0)" * (cast_expression "(int *)(auStack_158._16_4_ + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7fb0)" ( (binary_expression "auStack_158._16_4_ + -0x7fb0" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000180a8:\n  pcVar33 = *(code **)(pcVar32 + -0x7e74);" statement_identifier : (expression_statement "pcVar33 = *(code **)(pcVar32 + -0x7e74);" (assignment_expression "pcVar33 = *(code **)(pcVar32 + -0x7e74)" identifier = (pointer_expression "*(code **)(pcVar32 + -0x7e74)" * (cast_expression "(code **)(pcVar32 + -0x7e74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7e74)" ( (binary_expression "pcVar32 + -0x7e74" identifier + number_literal) ))))) ;)) (expression_statement "pmVar15 = (mbuiter_multi *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a30);" (assignment_expression "pmVar15 = (mbuiter_multi *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a30)" identifier = (cast_expression "(mbuiter_multi *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a30)" ( (type_descriptor "mbuiter_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + -0x7fb0) + -0x7a30)" ( (binary_expression "*(int *)(pcVar32 + -0x7fb0) + -0x7a30" (pointer_expression "*(int *)(pcVar32 + -0x7fb0)" * (cast_expression "(int *)(pcVar32 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7fb0)" ( (binary_expression "pcVar32 + -0x7fb0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pbVar17 = (byte *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a10);" (assignment_expression "pbVar17 = (byte *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a10)" identifier = (cast_expression "(byte *)(*(int *)(pcVar32 + -0x7fb0) + -0x7a10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + -0x7fb0) + -0x7a10)" ( (binary_expression "*(int *)(pcVar32 + -0x7fb0) + -0x7a10" (pointer_expression "*(int *)(pcVar32 + -0x7fb0)" * (cast_expression "(int *)(pcVar32 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7fb0)" ( (binary_expression "pcVar32 + -0x7fb0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar33)(pbVar17,pmVar15,0x96,*(int *)(pcVar32 + -0x7fb0) + -0x79e0);" (call_expression "(*pcVar33)(pbVar17,pmVar15,0x96,*(int *)(pcVar32 + -0x7fb0) + -0x79e0)" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "(pbVar17,pmVar15,0x96,*(int *)(pcVar32 + -0x7fb0) + -0x79e0)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar32 + -0x7fb0) + -0x79e0" (pointer_expression "*(int *)(pcVar32 + -0x7fb0)" * (cast_expression "(int *)(pcVar32 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7fb0)" ( (binary_expression "pcVar32 + -0x7fb0" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000180cc;" goto statement_identifier ;) (labeled_statement "code_r0x00017e7c:\n  (**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb3,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);" statement_identifier : (expression_statement "(**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb3,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0);" (call_expression "(**(code **)(auStack_158._16_4_ + -0x7e74))\n            (*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb3,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0)" (parenthesized_expression "(**(code **)(auStack_158._16_4_ + -0x7e74))" ( (pointer_expression "**(code **)(auStack_158._16_4_ + -0x7e74)" * (pointer_expression "*(code **)(auStack_158._16_4_ + -0x7e74)" * (cast_expression "(code **)(auStack_158._16_4_ + -0x7e74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7e74)" ( (binary_expression "auStack_158._16_4_ + -0x7e74" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) ))))) )) (argument_list "(*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30,0xb3,\n             *(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0)" ( (binary_expression "*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a24" (pointer_expression "*(int *)(auStack_158._16_4_ + -0x7fb0)" * (cast_expression "(int *)(auStack_158._16_4_ + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7fb0)" ( (binary_expression "auStack_158._16_4_ + -0x7fb0" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) )))) + number_literal) , (binary_expression "*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x7a30" (pointer_expression "*(int *)(auStack_158._16_4_ + -0x7fb0)" * (cast_expression "(int *)(auStack_158._16_4_ + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7fb0)" ( (binary_expression "auStack_158._16_4_ + -0x7fb0" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(auStack_158._16_4_ + -0x7fb0) + -0x79e0" (pointer_expression "*(int *)(auStack_158._16_4_ + -0x7fb0)" * (cast_expression "(int *)(auStack_158._16_4_ + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_158._16_4_ + -0x7fb0)" ( (binary_expression "auStack_158._16_4_ + -0x7fb0" (field_expression "auStack_158._16_4_" identifier . field_identifier) + number_literal) )))) + number_literal) ))) ;)) (expression_statement "pmVar15 = extraout_v1;" (assignment_expression "pmVar15 = extraout_v1" identifier = identifier) ;) (labeled_statement "LAB_00017ea0:\n  pmVar19 = unaff_s1;" statement_identifier : (expression_statement "pmVar19 = unaff_s1;" (assignment_expression "pmVar19 = unaff_s1" identifier = identifier) ;)) (expression_statement "pmStack_134 = in_t5;" (assignment_expression "pmStack_134 = in_t5" identifier = identifier) ;) (expression_statement "pmStack_130 = pmVar15;" (assignment_expression "pmStack_130 = pmVar15" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar32 + -0x7d74))(unaff_s4,unaff_s1,unaff_s7,0x18);" (call_expression "(**(code **)(pcVar32 + -0x7d74))(unaff_s4,unaff_s1,unaff_s7,0x18)" (parenthesized_expression "(**(code **)(pcVar32 + -0x7d74))" ( (pointer_expression "**(code **)(pcVar32 + -0x7d74)" * (pointer_expression "*(code **)(pcVar32 + -0x7d74)" * (cast_expression "(code **)(pcVar32 + -0x7d74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x7d74)" ( (binary_expression "pcVar32 + -0x7d74" identifier + number_literal) ))))) )) (argument_list "(unaff_s4,unaff_s1,unaff_s7,0x18)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "pmStack_11c = unaff_s4;" (assignment_expression "pmStack_11c = unaff_s4" identifier = identifier) ;) (expression_statement "pmVar15 = pmStack_130;" (assignment_expression "pmVar15 = pmStack_130" identifier = identifier) ;) (expression_statement "in_t5 = pmStack_134;" (assignment_expression "in_t5 = pmStack_134" identifier = identifier) ;) (expression_statement "pcVar32 = (code *)auStack_158._16_4_;" (assignment_expression "pcVar32 = (code *)auStack_158._16_4_" identifier = (cast_expression "(code *)auStack_158._16_4_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_158._16_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_00017904;" goto statement_identifier ;) (labeled_statement "LAB_00019168:\n  (**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x7a10,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0x96,\n             *(int *)(iVar7 + -0x7fb0) + -0x79e0);" statement_identifier : (expression_statement "(**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x7a10,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0x96,\n             *(int *)(iVar7 + -0x7fb0) + -0x79e0);" (call_expression "(**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x7a10,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0x96,\n             *(int *)(iVar7 + -0x7fb0) + -0x79e0)" (parenthesized_expression "(**(code **)(iVar7 + -0x7e74))" ( (pointer_expression "**(code **)(iVar7 + -0x7e74)" * (pointer_expression "*(code **)(iVar7 + -0x7e74)" * (cast_expression "(code **)(iVar7 + -0x7e74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7e74)" ( (binary_expression "iVar7 + -0x7e74" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar7 + -0x7fb0) + -0x7a10,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0x96,\n             *(int *)(iVar7 + -0x7fb0) + -0x79e0)" ( (binary_expression "*(int *)(iVar7 + -0x7fb0) + -0x7a10" (pointer_expression "*(int *)(iVar7 + -0x7fb0)" * (cast_expression "(int *)(iVar7 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fb0)" ( (binary_expression "iVar7 + -0x7fb0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(iVar7 + -0x7fb0) + -0x7a30" (pointer_expression "*(int *)(iVar7 + -0x7fb0)" * (cast_expression "(int *)(iVar7 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fb0)" ( (binary_expression "iVar7 + -0x7fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar7 + -0x7fb0) + -0x79e0" (pointer_expression "*(int *)(iVar7 + -0x7fb0)" * (cast_expression "(int *)(iVar7 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fb0)" ( (binary_expression "iVar7 + -0x7fb0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "pwc = pmVar35;" (assignment_expression "pwc = pmVar35" identifier = identifier) ;) (labeled_statement "LAB_0001918c:\n  iVar8 = *(int *)(iVar7 + -0x7fb0);" statement_identifier : (expression_statement "iVar8 = *(int *)(iVar7 + -0x7fb0);" (assignment_expression "iVar8 = *(int *)(iVar7 + -0x7fb0)" identifier = (pointer_expression "*(int *)(iVar7 + -0x7fb0)" * (cast_expression "(int *)(iVar7 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fb0)" ( (binary_expression "iVar7 + -0x7fb0" identifier + number_literal) ))))) ;)) (expression_statement "pmVar15 = pwc;" (assignment_expression "pmVar15 = pwc" identifier = identifier) ;) (labeled_statement "LAB_00019190:\n  pwc = pmVar15;" statement_identifier : (expression_statement "pwc = pmVar15;" (assignment_expression "pwc = pmVar15" identifier = identifier) ;)) (expression_statement "(**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x79f8,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0xb2,\n             iVar8 + -0x79e0);" (call_expression "(**(code **)(iVar7 + -0x7e74))\n            (*(int *)(iVar7 + -0x7fb0) + -0x79f8,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0xb2,\n             iVar8 + -0x79e0)" (parenthesized_expression "(**(code **)(iVar7 + -0x7e74))" ( (pointer_expression "**(code **)(iVar7 + -0x7e74)" * (pointer_expression "*(code **)(iVar7 + -0x7e74)" * (cast_expression "(code **)(iVar7 + -0x7e74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x7e74)" ( (binary_expression "iVar7 + -0x7e74" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar7 + -0x7fb0) + -0x79f8,*(int *)(iVar7 + -0x7fb0) + -0x7a30,0xb2,\n             iVar8 + -0x79e0)" ( (binary_expression "*(int *)(iVar7 + -0x7fb0) + -0x79f8" (pointer_expression "*(int *)(iVar7 + -0x7fb0)" * (cast_expression "(int *)(iVar7 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fb0)" ( (binary_expression "iVar7 + -0x7fb0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(iVar7 + -0x7fb0) + -0x7a30" (pointer_expression "*(int *)(iVar7 + -0x7fb0)" * (cast_expression "(int *)(iVar7 + -0x7fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7fb0)" ( (binary_expression "iVar7 + -0x7fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar8 + -0x79e0" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000191b0;" goto statement_identifier ;) })) })))
(translation_unit "void FUN_00017540(void)\n\n{\n  (*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);\n  return;\n}\n\n" (function_definition "void FUN_00017540(void)\n\n{\n  (*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);\n  return;\n}" primitive_type (function_declarator "FUN_00017540(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  (*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);\n  return;\n}" { (expression_statement "(*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);" (call_expression "(*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0)" (parenthesized_expression "(*(code *)PTR___assert_fail_0004b2dc)" ( (pointer_expression "*(code *)PTR___assert_fail_0004b2dc" * (cast_expression "(code *)PTR___assert_fail_0004b2dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0)" ( (binary_expression "PTR_DAT_0004b1a0 + -0x7a24" identifier + number_literal) , (binary_expression "PTR_DAT_0004b1a0 + -0x7a30" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0004b1a0 + -0x79e0" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00017540(void)\n\n{\n  (*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00017540(void)" (identifier "FUN_00017540") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  (*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);\n  return;\n}" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);" (call_expression "(*(code *)PTR___assert_fail_0004b2dc)\n            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0)" (parenthesized_expression "(*(code *)PTR___assert_fail_0004b2dc)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_0004b2dc" (* "*") (cast_expression "(code *)PTR___assert_fail_0004b2dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_0004b2dc"))) () ")")) (argument_list "(PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0)" (( "(") (binary_expression "PTR_DAT_0004b1a0 + -0x7a24" (identifier "PTR_DAT_0004b1a0") (+ "+") (number_literal "-0x7a24")) (, ",") (binary_expression "PTR_DAT_0004b1a0 + -0x7a30" (identifier "PTR_DAT_0004b1a0") (+ "+") (number_literal "-0x7a30")) (, ",") (number_literal "0xb3") (, ",") (binary_expression "PTR_DAT_0004b1a0 + -0x79e0" (identifier "PTR_DAT_0004b1a0") (+ "+") (number_literal "-0x79e0")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))))

void MASKED(void)

{
  (*(code *)PTR___assert_fail_0004b2dc)
            (PTR_DAT_0004b1a0 + -0x7a24,PTR_DAT_0004b1a0 + -0x7a30,0xb3,PTR_DAT_0004b1a0 + -0x79e0);
  return;
}

