
/* WARNING: Removing unreachable block (ram,0x00061c88) */
/* WARNING: Removing unreachable block (ram,0x00061c6c) */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void x11_alloc_subfont(x11font *xfont,int sfid)

{
  char cVar1;
  undefined1 uVar2;
  undefined *puVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  int iVar7;
  char *pcVar8;
  xlfd_decomposed *dec;
  GC *pp_Var9;
  int *piVar10;
  undefined4 *puVar11;
  int iVar12;
  undefined4 *puVar13;
  int iVar14;
  int iVar15;
  undefined4 uVar16;
  int iVar17;
  int iVar18;
  undefined4 uVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  int iVar22;
  undefined4 uVar23;
  wchar_t wVar24;
  GC *pp_Var25;
  GC *pp_Var26;
  x11font *xfont_00;
  int iVar27;
  int iVar28;
  ulong *puVar29;
  ulong *puVar30;
  x11font *x;
  undefined4 *in_a3;
  int *piVar31;
  GC *pp_Var32;
  x11font *pxVar33;
  undefined4 *puVar34;
  undefined1 *puVar35;
  int *piVar36;
  undefined4 *puVar37;
  int *piVar38;
  unifont_vtable *puVar39;
  wchar_t *pwVar40;
  XFontStruct *pXVar41;
  int unaff_s6;
  undefined *puVar42;
  code *pcVar43;
  code *pcVar44;
  int iVar45;
  wchar_t *in_stack_fffffea0;
  undefined1 *in_stack_fffffea4;
  int iStack_158;
  int iStack_154;
  int iStack_150;
  wchar_t *pwStack_f4;
  int iStack_ec;
  int iStack_b8;
  int iStack_b4;
  GC *pp_Stack_b0;
  undefined4 uStack_ac;
  int *piStack_a8;
  GC *pp_Stack_a4;
  ulong *puStack_9c;
  int iStack_98;
  ulong uStack_6c;
  ulong uStack_68;
  int iStack_64;
  int iStack_60;
  char *pcStack_5c;
  undefined *puStack_58;
  x11font *pxStack_54;
  undefined4 uStack_50;
  XFontStruct *pXStack_4c;
  ulong ret;
  int local_24;
  
  puVar3 = PTR___stack_chk_guard_000b60f8;
  local_24 = *(int *)PTR___stack_chk_guard_000b60f8;
  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();
  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);
  pXVar41 = xfont->fonts[0].xfs;
  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();
  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);
  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)
                    (uVar5,PTR_data_CS_ISO8859_4_sbcs2ucs_194__000b5230 + 0x17d0,0);
  puVar29 = &ret;
  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(pXVar41,uVar6);
  pwStack_f4 = in_stack_fffffea0;
  if (iVar7 == 0) {
LAB_00061a2c:
    pcVar8 = (char *)0x0;
  }
  else {
    pcVar8 = (char *)(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret);
    dec = xlfd_decompose(pcVar8);
    pwStack_f4 = in_stack_fffffea0;
    if (dec == (xlfd_decomposed *)0x0) goto LAB_00061a2c;
    if ((sfid & 1U) != 0) {
      dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;
    }
    if ((sfid & 2U) != 0) {
      pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;
      dec->average_width = dec->average_width << 1;
      dec->add_style_name = pcVar8;
      dec->setwidth_name = pcVar8;
    }
    pcVar8 = xlfd_recompose(dec);
    (*(code *)PTR_safefree_000b5210)(dec);
    pwStack_f4 = in_stack_fffffea0;
  }
  uVar5 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,pcVar8);
  puVar42 = PTR_safefree_000b5210;
  pp_Var25 = &xfont->fonts[sfid + -1].gc;
  pp_Var25[8] = (GC)uVar5;
  pp_Var25[9] = (GC)0x1;
  (*(code *)puVar42)(pcVar8);
  if (local_24 == *(int *)puVar3) {
    return;
  }
  puVar42 = PTR___stack_chk_fail_000b5d9c;
  (*(code *)PTR___stack_chk_fail_000b5d9c)();
  puStack_58 = puVar3;
  piVar36 = *(int **)(puVar42 + 0x54650);
  iStack_64 = *piVar36;
  puVar30 = puVar29;
  iStack_60 = sfid;
  pcStack_5c = pcVar8;
  pxStack_54 = xfont;
  uStack_50 = uVar4;
  pXStack_4c = pXVar41;
  uVar4 = (**(code **)(puVar42 + 0x543f4))();
  uVar4 = (**(code **)(puVar42 + 0x53fa0))(uVar4);
  pp_Var26 = pp_Var25;
  pp_Var9 = (GC *)(**(code **)(puVar42 + 0x54044))(uVar4);
  pp_Var32 = pp_Var9;
  if (pp_Var9 != (GC *)0x0) {
    uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x53788) + 0x17d0,0);
    puVar30 = &uStack_6c;
    iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);
    if ((iVar7 != 0) &&
       (unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0)) {
      uStack_68 = 0xc;
      uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0);
      puVar30 = &uStack_68;
      iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);
      if ((iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)) {
        *puVar29 = uStack_68;
        (*pcVar43)(uVar4);
        if (in_a3 != (undefined4 *)0x0) {
          *in_a3 = 2;
        }
        pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);
        pp_Var26 = pp_Var9;
        goto LAB_00061bec;
      }
    }
    pp_Var32 = (GC *)0x0;
    (**(code **)(puVar42 + 0x546c4))(uVar4);
    pp_Var26 = pp_Var9;
  }
LAB_00061bec:
  if (iStack_64 == *piVar36) {
    return;
  }
  pcVar43 = *(code **)(puVar42 + 0x542f4);
  (*pcVar43)();
  piVar10 = *(int **)(pcVar43 + 0x5445c);
  pxVar33 = (x11font *)0x8000;
  iStack_b4 = *piVar10;
  pp_Stack_b0 = pp_Var32;
  uStack_ac = uVar4;
  piStack_a8 = piVar36;
  pp_Stack_a4 = pp_Var25;
  puStack_9c = puVar29;
  iStack_98 = unaff_s6;
  uVar4 = (**(code **)(pcVar43 + 0x54200))();
  uVar4 = (**(code **)(pcVar43 + 0x53dac))(uVar4);
  iVar7 = *(int *)(pcVar43 + 0x53578);
  while( true ) {
    x = pxVar33;
    piVar36 = &iStack_b8;
    puVar11 = (undefined4 *)(**(code **)(pcVar43 + 0x54470))(uVar4,iVar7 + -0x3680);
    xfont_00 = (x11font *)(uint)(iStack_b8 < (int)pxVar33);
    if (xfont_00 != (x11font *)0x0) break;
    pxVar33 = (x11font *)((int)pxVar33 << 1);
    (**(code **)(pcVar43 + 0x544e0))(puVar11);
  }
  pxVar33 = (x11font *)0x0;
  if (0 < iStack_b8) {
    iVar7 = *(int *)(pcVar43 + 0x53578);
    iVar45 = 0;
    iVar18 = *(int *)(pcVar43 + 0x53578);
    pxVar33 = (x11font *)0x0;
    iVar22 = *(int *)(pcVar43 + 0x53578);
    uVar4 = *(undefined4 *)(iVar7 + -0x360c);
    iVar27 = *(int *)(pcVar43 + 0x5355c);
    iVar12 = *(int *)(pcVar43 + 0x53aac);
    iStack_ec = 0;
    uVar5 = *(undefined4 *)(iVar18 + -0x3614);
    iVar28 = *(int *)(pcVar43 + 0x53578);
    uVar6 = *(undefined4 *)(iVar22 + -0x362c);
    puVar37 = puVar11;
    do {
      puVar13 = (undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37);
      if (puVar13 == (undefined4 *)0x0) {
        xfont_00 = (x11font *)*puVar37;
        piVar36 = (int *)0x0;
        iStack_150 = iVar27 + 0x4768;
        iStack_154 = 4;
        iStack_158 = 0;
        in_stack_fffffea4 = (undefined1 *)0x0;
        pwStack_f4 = (wchar_t *)0x0;
        x = xfont_00;
        (*(code *)pp_Var26)(puVar30);
        (**(code **)(pcVar43 + 0x53574))(0);
      }
      else {
        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);
        iVar14 = (iVar14 + 0x40) * 4;
        if (iStack_ec < iVar14) {
          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);
          iStack_ec = iVar14;
        }
        iVar15 = (**(code **)(pcVar43 + 0x54344))
                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);
        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);
        iVar15 = (**(code **)(pcVar43 + 0x54344))
                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],
                            puVar13[0xd]);
        pcVar8 = (char *)puVar13[2];
        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);
        if (*pcVar8 == '\0') {
          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);
        }
        iVar15 = (**(code **)(pcVar43 + 0x54320))
                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);
        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);
        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);
        if (iVar15 == 0) {
          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);
          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);
          puVar34[1] = uVar16;
          puVar34 = (undefined4 *)((int)puVar34 + 7);
LAB_00061ee8:
          pcVar8 = (char *)puVar13[4];
          iVar15 = *(int *)(pcVar43 + 0x53578);
          if (*pcVar8 == '\0') goto LAB_00061ef8;
LAB_0006228c:
          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);
          if (iVar17 == 0) goto LAB_00061ef8;
          iVar17 = (**(code **)(pcVar43 + 0x54344))
                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])
          ;
          puVar34 = (undefined4 *)((int)puVar34 + iVar17);
          iVar17 = (**(code **)(pcVar43 + 0x53f38))
                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);
          if (iVar17 == 0) goto LAB_000622e8;
LAB_00061f14:
          iVar17 = (**(code **)(pcVar43 + 0x53f38))
                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);
          if (iVar17 != 0) goto LAB_00061f30;
LAB_00062324:
          *puVar34 = uVar4;
          puVar34 = puVar34 + 1;
          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);
          pcVar8 = (char *)puVar13[5];
          cVar1 = *pcVar8;
          iVar17 = *(int *)(pcVar43 + 0x53578);
        }
        else {
          iVar15 = (**(code **)(pcVar43 + 0x53f38))
                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);
          if (iVar15 != 0) {
            iVar15 = (**(code **)(pcVar43 + 0x53f38))
                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);
            if (iVar15 == 0) {
              iVar15 = *(int *)(pcVar43 + 0x53578);
              uVar23 = *(undefined4 *)(iVar15 + -0x3654);
              uVar19 = *(undefined4 *)(iVar15 + -0x3650);
              uVar16 = *(undefined4 *)(iVar15 + -0x364c);
              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);
              puVar34[1] = uVar23;
              puVar34[2] = uVar19;
              puVar34[3] = uVar16;
              puVar34 = (undefined4 *)((int)puVar34 + 0xf);
            }
            else {
              iVar15 = (**(code **)(pcVar43 + 0x53f38))
                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);
              if (iVar15 == 0) {
                iVar15 = *(int *)(pcVar43 + 0x53578);
                uVar23 = *(undefined4 *)(iVar15 + -0x3640);
                uVar19 = *(undefined4 *)(iVar15 + -0x363c);
                uVar16 = *(undefined4 *)(iVar15 + -0x3638);
                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);
                puVar34[1] = uVar23;
                puVar34[2] = uVar19;
                puVar34[3] = uVar16;
                puVar34 = puVar34 + 4;
                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);
              }
              else {
                iVar15 = (**(code **)(pcVar43 + 0x53f38))
                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);
                if (iVar15 == 0) {
                  *puVar34 = uVar6;
                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);
                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);
                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);
                  puVar34[2] = uVar16;
                  puVar34 = puVar34 + 3;
                  *(undefined1 *)puVar34 = uVar2;
                }
              }
            }
            goto LAB_00061ee8;
          }
          iVar15 = *(int *)(pcVar43 + 0x53578);
          uVar16 = *(undefined4 *)(iVar15 + -0x3638);
          uVar2 = *(undefined1 *)(iVar15 + -0x3634);
          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);
          puVar34[1] = uVar16;
          puVar34 = puVar34 + 2;
          *(undefined1 *)puVar34 = uVar2;
          pcVar8 = (char *)puVar13[4];
          iVar15 = *(int *)(pcVar43 + 0x53578);
          if (*pcVar8 != '\0') goto LAB_0006228c;
LAB_00061ef8:
          iVar17 = (**(code **)(pcVar43 + 0x53f38))
                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);
          if (iVar17 != 0) goto LAB_00061f14;
LAB_000622e8:
          iVar17 = *(int *)(pcVar43 + 0x53578);
          pcVar44 = *(code **)(pcVar43 + 0x53f38);
          *puVar34 = uVar5;
          puVar34 = puVar34 + 1;
          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);
          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);
          if (iVar17 == 0) goto LAB_00062324;
LAB_00061f30:
          pcVar8 = (char *)puVar13[5];
          cVar1 = *pcVar8;
          iVar17 = *(int *)(pcVar43 + 0x53578);
        }
        if (cVar1 != '\0') {
          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);
          puVar34 = (undefined4 *)((int)puVar34 + iVar17);
        }
        puVar35 = (undefined1 *)((int)puVar34 + 1);
        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);
        if ((((iVar17 == 0) ||
             (iVar17 = (**(code **)(pcVar43 + 0x53f38))
                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))
            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)
            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))
                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0
                 )) {
          pwStack_f4 = (wchar_t *)0x0;
        }
        else {
          iVar17 = (**(code **)(pcVar43 + 0x54304))
                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);
          if ((iVar17 == 0) ||
             (iVar17 = (**(code **)(pcVar43 + 0x54304))
                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))
          {
            pwStack_f4 = (wchar_t *)0x1;
          }
          else {
            pwStack_f4 = (wchar_t *)0x2;
          }
        }
        iVar17 = *(int *)(pcVar43 + 0x53578);
        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);
        if (iStack_154 != 0) {
          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);
          iStack_154 = 1;
          if (iVar17 == 0) {
            iStack_154 = 2;
          }
        }
        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);
        iStack_158 = puVar13[2];
        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);
        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);
        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);
        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);
        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);
        x = (x11font *)0xffffffff;
        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);
        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);
        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {
          x = (x11font *)0x442;
          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);
          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);
          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);
          (**(code **)(pcVar43 + 0x53da4))();
          goto LAB_0006258c;
        }
        piVar38 = *(int **)(pcVar43 + 0x53690);
        pcVar8 = (char *)puVar13[10];
        iVar14 = *(int *)(pcVar43 + 0x53578);
        pcVar44 = *(code **)(pcVar43 + 0x54198);
        *piVar38 = 2;
        xfont_00 = (x11font *)(int)*pcVar8;
        iVar14 = (*pcVar44)(iVar14 + -0x3590);
        if (iVar14 == 0) {
          *piVar38 = 10;
        }
        iVar14 = puVar13[6];
        pcVar44 = *(code **)(pcVar43 + 0x53574);
        if (iVar14 != 0) {
          xfont_00 = (x11font *)*puVar37;
          iStack_150 = iVar27 + 0x4768;
          iStack_154 = *piVar38;
          x = pxVar33;
          (*(code *)pp_Var26)(puVar30);
          pcVar44 = *(code **)(pcVar43 + 0x53574);
          piVar36 = piVar31;
          pwStack_f4 = pwVar40;
          in_stack_fffffea4 = puVar35;
          iStack_158 = iVar14;
        }
        (*pcVar44)(puVar13);
      }
      iVar45 = iVar45 + 1;
      puVar37 = puVar37 + 1;
    } while (iVar45 < iStack_b8);
  }
  (**(code **)(pcVar43 + 0x544e0))(puVar11);
  (**(code **)(pcVar43 + 0x53574))();
  if (iStack_b4 == *piVar10) {
    return;
  }
LAB_0006258c:
  pcVar43 = *(code **)(pcVar43 + 0x54100);
  (*pcVar43)();
  puVar39 = (pxVar33->u).vt;
  iVar18 = iStack_154 - xfont_00->bold;
  iVar7 = 1;
  iVar12 = iStack_158 - xfont_00->wide;
  if (iStack_158 != 0) {
    iVar7 = 2;
  }
  iVar22 = iVar12 * 2;
  if (xfont_00->shadowalways == 0) {
    iVar27 = iVar18 + iVar22;
    if (*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24) == 0) {
      x11_alloc_subfont(xfont_00,iVar27);
    }
    iVar28 = *(int *)((int)xfont_00 + iVar27 * 0x34 + 0x20);
    if (iVar18 != 0) {
      iVar18 = 0;
      if (iVar28 != 0) goto LAB_0006265c;
      iVar12 = iVar12 * 0x68 + (int)xfont_00;
      iVar28 = *(int *)(iVar12 + 0x24);
      iVar18 = xfont_00->shadowoffset;
      goto joined_r0x00062808;
    }
    iVar18 = 0;
  }
  else {
    if (iVar18 == 0) {
      iVar12 = iVar12 * 0x68 + (int)xfont_00;
      iVar28 = *(int *)(iVar12 + 0x24);
      iVar18 = 0;
    }
    else {
      iVar12 = iVar12 * 0x68 + (int)xfont_00;
      iVar28 = *(int *)(iVar12 + 0x24);
      iVar18 = xfont_00->shadowoffset;
    }
joined_r0x00062808:
    iVar27 = iVar22;
    if (iVar28 == 0) {
      x11_alloc_subfont(xfont_00,iVar22);
      iVar28 = *(int *)(iVar12 + 0x20);
    }
    else {
      iVar28 = *(int *)(iVar12 + 0x20);
    }
  }
  if (iVar28 == 0) {
    return;
  }
LAB_0006265c:
  if (xfont_00->sixteen_bit != 0) {
    puVar35 = (undefined1 *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2);
    if (0 < (int)in_stack_fffffea4) {
      puVar20 = puVar35;
      do {
        wVar24 = *pwStack_f4;
        puVar21 = puVar20 + 2;
        pwStack_f4 = pwStack_f4 + 1;
        puVar20[1] = (char)wVar24;
        *puVar20 = (char)((uint)wVar24 >> 8);
        puVar20 = puVar21;
      } while (puVar35 + (int)in_stack_fffffea4 * 2 != puVar21);
    }
    x11font_really_draw_text
              ((x11font_drawfuncs *)
               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),
               (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,puVar35,
               (int)in_stack_fffffea4,iVar18,xfont_00->variable,iVar7 * iStack_150);
    (**(code **)(pcVar43 + 0x52c78))(puVar35);
    return;
  }
  pcVar8 = (char *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4 + 1,1);
  iVar12 = wc_to_mb(xfont_00->real_charset,0,pwStack_f4,(int)in_stack_fffffea4,pcVar8,
                    (int)(in_stack_fffffea4 + 1),(char *)(*(int *)(pcVar43 + 0x52c7c) + -0x48f0),
                    (int *)0x0,(unicode_data *)0x0);
  x11font_really_draw_text
            ((x11font_drawfuncs *)(*(int *)(pcVar43 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18),
             (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,pcVar8,iVar12,
             iVar18,xfont_00->variable,iVar7 * iStack_150);
  (**(code **)(pcVar43 + 0x52c78))(pcVar8);
  return;
}



/* WARNING: Removing unreachable block (ram,0x00061c88) */
/* WARNING: Removing unreachable block (ram,0x00061c6c) */

code * FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)

{
  char cVar1;
  undefined1 uVar2;
  undefined *puVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  int iVar7;
  undefined *puVar8;
  code *pcVar9;
  code *pcVar10;
  int *piVar11;
  uint *puVar12;
  int iVar13;
  undefined4 *puVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  undefined4 uVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  int iVar22;
  undefined4 uVar23;
  code *pcVar24;
  int *piVar25;
  int iVar26;
  int iVar27;
  int *piVar28;
  char *pcVar29;
  int *piVar30;
  code *pcVar31;
  int *piVar32;
  undefined4 *puVar33;
  undefined1 *puVar34;
  int *piVar35;
  uint *puVar36;
  int *piVar37;
  undefined4 *puVar38;
  undefined4 uVar39;
  int *piVar40;
  int unaff_s6;
  int iVar41;
  undefined4 *in_stack_fffffea0;
  undefined1 *in_stack_fffffea4;
  int iStack_158;
  int iStack_154;
  int iStack_150;
  undefined4 *puStack_f4;
  int iStack_ec;
  int iStack_b8;
  code *pcStack_b4;
  code *pcStack_b0;
  undefined4 uStack_ac;
  int *piStack_a8;
  code *pcStack_a4;
  undefined4 *puStack_a0;
  int *piStack_9c;
  int iStack_98;
  int local_6c;
  int local_68;
  int local_64;
  uint local_60;
  undefined4 local_5c;
  undefined *local_58;
  int local_54;
  undefined4 local_50;
  undefined4 local_4c;
  int local_28;
  code *local_24;
  
  puVar3 = PTR___stack_chk_guard_000b60f8;
  local_24 = *(code **)PTR___stack_chk_guard_000b60f8;
  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();
  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);
  uVar39 = *(undefined4 *)(param_1 + 0x20);
  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();
  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);
  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);
  piVar30 = &local_28;
  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);
  if (iVar7 == 0) {
LAB_00061a2c:
    uVar5 = 0;
  }
  else {
    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);
    iVar7 = FUN_0006116c(uVar5);
    if (iVar7 == 0) goto LAB_00061a2c;
    if ((param_2 & 1) != 0) {
      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;
    }
    if ((param_2 & 2) != 0) {
      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;
      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;
      *(undefined **)(iVar7 + 0x14) = puVar8;
      *(undefined **)(iVar7 + 0x10) = puVar8;
    }
    uVar5 = FUN_0006137c(iVar7);
    (*(code *)PTR_safefree_000b5210)(iVar7);
  }
  uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);
  puVar8 = PTR_safefree_000b5210;
  pcVar24 = (code *)(param_2 * 0x34 + param_1);
  *(undefined4 *)(pcVar24 + 0x20) = uVar6;
  *(undefined4 *)(pcVar24 + 0x24) = 1;
  (*(code *)puVar8)(uVar5);
  pcVar9 = *(code **)puVar3;
  if (local_24 == pcVar9) {
    return pcVar9;
  }
  puVar8 = PTR___stack_chk_fail_000b5d9c;
  (*(code *)PTR___stack_chk_fail_000b5d9c)();
  local_58 = puVar3;
  piVar35 = *(int **)(puVar8 + 0x54650);
  local_64 = *piVar35;
  piVar28 = piVar30;
  local_60 = param_2;
  local_5c = uVar5;
  local_54 = param_1;
  local_50 = uVar4;
  local_4c = uVar39;
  uVar4 = (**(code **)(puVar8 + 0x543f4))();
  uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);
  pcVar9 = pcVar24;
  pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);
  pcVar31 = pcVar10;
  if (pcVar10 != (code *)0x0) {
    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);
    piVar28 = &local_6c;
    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);
    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))
    {
      local_68 = 0xc;
      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);
      piVar28 = &local_68;
      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);
      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {
        *piVar30 = local_68;
        (*pcVar9)(uVar4);
        if (param_4 != (undefined4 *)0x0) {
          *param_4 = 2;
        }
        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);
        pcVar9 = pcVar10;
        goto LAB_00061bec;
      }
    }
    pcVar31 = (code *)0x0;
    (**(code **)(puVar8 + 0x546c4))(uVar4);
    pcVar9 = pcVar10;
  }
LAB_00061bec:
  if (local_64 == *piVar35) {
    return pcVar31;
  }
  pcVar10 = *(code **)(puVar8 + 0x542f4);
  (*pcVar10)();
  piVar11 = *(int **)(pcVar10 + 0x5445c);
  piVar32 = (int *)0x8000;
  pcStack_b4 = (code *)*piVar11;
  pcStack_b0 = pcVar31;
  uStack_ac = uVar4;
  piStack_a8 = piVar35;
  pcStack_a4 = pcVar24;
  puStack_a0 = param_4;
  piStack_9c = piVar30;
  iStack_98 = unaff_s6;
  uVar4 = (**(code **)(pcVar10 + 0x54200))();
  uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);
  iVar7 = *(int *)(pcVar10 + 0x53578);
  while( true ) {
    piVar30 = piVar32;
    piVar35 = &iStack_b8;
    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);
    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);
    if (piVar25 != (int *)0x0) break;
    piVar32 = (int *)((int)piVar32 << 1);
    (**(code **)(pcVar10 + 0x544e0))(puVar12);
  }
  piVar32 = (int *)0x0;
  if (0 < iStack_b8) {
    iVar7 = *(int *)(pcVar10 + 0x53578);
    iVar41 = 0;
    iVar18 = *(int *)(pcVar10 + 0x53578);
    piVar32 = (int *)0x0;
    iVar22 = *(int *)(pcVar10 + 0x53578);
    uVar4 = *(undefined4 *)(iVar7 + -0x360c);
    iVar26 = *(int *)(pcVar10 + 0x5355c);
    iVar13 = *(int *)(pcVar10 + 0x53aac);
    iStack_ec = 0;
    uVar5 = *(undefined4 *)(iVar18 + -0x3614);
    iVar27 = *(int *)(pcVar10 + 0x53578);
    uVar6 = *(undefined4 *)(iVar22 + -0x362c);
    puVar36 = puVar12;
    do {
      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);
      if (puVar14 == (undefined4 *)0x0) {
        piVar25 = (int *)*puVar36;
        piVar35 = (int *)0x0;
        iStack_150 = iVar26 + 0x4768;
        iStack_154 = 4;
        iStack_158 = 0;
        in_stack_fffffea4 = (undefined1 *)0x0;
        in_stack_fffffea0 = (undefined4 *)0x0;
        piVar30 = piVar25;
        (*pcVar9)(piVar28);
        (**(code **)(pcVar10 + 0x53574))(0);
      }
      else {
        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);
        iVar15 = (iVar15 + 0x40) * 4;
        if (iStack_ec < iVar15) {
          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);
          iStack_ec = iVar15;
        }
        iVar16 = (**(code **)(pcVar10 + 0x54344))
                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);
        piVar40 = (int *)((int)piVar32 + iVar16 + 1);
        iVar16 = (**(code **)(pcVar10 + 0x54344))
                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],
                            puVar14[0xd]);
        pcVar29 = (char *)puVar14[2];
        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);
        if (*pcVar29 == '\0') {
          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);
        }
        iVar16 = (**(code **)(pcVar10 + 0x54320))
                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);
        puVar33 = (undefined4 *)((int)puVar38 + iVar16);
        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);
        if (iVar16 == 0) {
          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);
          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);
          puVar33[1] = uVar39;
          puVar33 = (undefined4 *)((int)puVar33 + 7);
LAB_00061ee8:
          pcVar29 = (char *)puVar14[4];
          iVar16 = *(int *)(pcVar10 + 0x53578);
          if (*pcVar29 == '\0') goto LAB_00061ef8;
LAB_0006228c:
          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);
          if (iVar17 == 0) goto LAB_00061ef8;
          iVar17 = (**(code **)(pcVar10 + 0x54344))
                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])
          ;
          puVar33 = (undefined4 *)((int)puVar33 + iVar17);
          iVar17 = (**(code **)(pcVar10 + 0x53f38))
                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);
          if (iVar17 == 0) goto LAB_000622e8;
LAB_00061f14:
          iVar17 = (**(code **)(pcVar10 + 0x53f38))
                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);
          if (iVar17 != 0) goto LAB_00061f30;
LAB_00062324:
          *puVar33 = uVar4;
          puVar33 = puVar33 + 1;
          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);
          pcVar29 = (char *)puVar14[5];
          cVar1 = *pcVar29;
          iVar17 = *(int *)(pcVar10 + 0x53578);
        }
        else {
          iVar16 = (**(code **)(pcVar10 + 0x53f38))
                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);
          if (iVar16 != 0) {
            iVar16 = (**(code **)(pcVar10 + 0x53f38))
                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);
            if (iVar16 == 0) {
              iVar16 = *(int *)(pcVar10 + 0x53578);
              uVar23 = *(undefined4 *)(iVar16 + -0x3654);
              uVar19 = *(undefined4 *)(iVar16 + -0x3650);
              uVar39 = *(undefined4 *)(iVar16 + -0x364c);
              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);
              puVar33[1] = uVar23;
              puVar33[2] = uVar19;
              puVar33[3] = uVar39;
              puVar33 = (undefined4 *)((int)puVar33 + 0xf);
            }
            else {
              iVar16 = (**(code **)(pcVar10 + 0x53f38))
                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);
              if (iVar16 == 0) {
                iVar16 = *(int *)(pcVar10 + 0x53578);
                uVar23 = *(undefined4 *)(iVar16 + -0x3640);
                uVar19 = *(undefined4 *)(iVar16 + -0x363c);
                uVar39 = *(undefined4 *)(iVar16 + -0x3638);
                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);
                puVar33[1] = uVar23;
                puVar33[2] = uVar19;
                puVar33[3] = uVar39;
                puVar33 = puVar33 + 4;
                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);
              }
              else {
                iVar16 = (**(code **)(pcVar10 + 0x53f38))
                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);
                if (iVar16 == 0) {
                  *puVar33 = uVar6;
                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);
                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);
                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);
                  puVar33[2] = uVar39;
                  puVar33 = puVar33 + 3;
                  *(undefined1 *)puVar33 = uVar2;
                }
              }
            }
            goto LAB_00061ee8;
          }
          iVar16 = *(int *)(pcVar10 + 0x53578);
          uVar39 = *(undefined4 *)(iVar16 + -0x3638);
          uVar2 = *(undefined1 *)(iVar16 + -0x3634);
          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);
          puVar33[1] = uVar39;
          puVar33 = puVar33 + 2;
          *(undefined1 *)puVar33 = uVar2;
          pcVar29 = (char *)puVar14[4];
          iVar16 = *(int *)(pcVar10 + 0x53578);
          if (*pcVar29 != '\0') goto LAB_0006228c;
LAB_00061ef8:
          iVar17 = (**(code **)(pcVar10 + 0x53f38))
                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);
          if (iVar17 != 0) goto LAB_00061f14;
LAB_000622e8:
          iVar17 = *(int *)(pcVar10 + 0x53578);
          pcVar24 = *(code **)(pcVar10 + 0x53f38);
          *puVar33 = uVar5;
          puVar33 = puVar33 + 1;
          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);
          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);
          if (iVar17 == 0) goto LAB_00062324;
LAB_00061f30:
          pcVar29 = (char *)puVar14[5];
          cVar1 = *pcVar29;
          iVar17 = *(int *)(pcVar10 + 0x53578);
        }
        if (cVar1 != '\0') {
          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);
          puVar33 = (undefined4 *)((int)puVar33 + iVar17);
        }
        puVar34 = (undefined1 *)((int)puVar33 + 1);
        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);
        if ((((iVar17 == 0) ||
             (iVar17 = (**(code **)(pcVar10 + 0x53f38))
                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))
            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)
            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))
                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0
                 )) {
          puStack_f4 = (undefined4 *)0x0;
        }
        else {
          iVar17 = (**(code **)(pcVar10 + 0x54304))
                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);
          if ((iVar17 == 0) ||
             (iVar17 = (**(code **)(pcVar10 + 0x54304))
                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))
          {
            puStack_f4 = (undefined4 *)0x1;
          }
          else {
            puStack_f4 = (undefined4 *)0x2;
          }
        }
        iVar17 = *(int *)(pcVar10 + 0x53578);
        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);
        if (iStack_154 != 0) {
          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);
          iStack_154 = 1;
          if (iVar17 == 0) {
            iStack_154 = 2;
          }
        }
        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);
        iStack_158 = puVar14[2];
        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);
        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);
        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);
        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);
        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);
        piVar30 = (int *)0xffffffff;
        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);
        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);
        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {
          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))
                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,
                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,
                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);
          return pcVar9;
        }
        piVar37 = *(int **)(pcVar10 + 0x53690);
        pcVar29 = (char *)puVar14[10];
        iVar15 = *(int *)(pcVar10 + 0x53578);
        pcVar24 = *(code **)(pcVar10 + 0x54198);
        *piVar37 = 2;
        piVar25 = (int *)(int)*pcVar29;
        iVar15 = (*pcVar24)(iVar15 + -0x3590);
        if (iVar15 == 0) {
          *piVar37 = 10;
        }
        iVar15 = puVar14[6];
        pcVar24 = *(code **)(pcVar10 + 0x53574);
        in_stack_fffffea0 = puStack_f4;
        if (iVar15 != 0) {
          piVar25 = (int *)*puVar36;
          iStack_150 = iVar26 + 0x4768;
          iStack_154 = *piVar37;
          piVar30 = piVar32;
          (*pcVar9)(piVar28,piVar25,piVar32);
          pcVar24 = *(code **)(pcVar10 + 0x53574);
          piVar35 = piVar40;
          in_stack_fffffea0 = puVar38;
          in_stack_fffffea4 = puVar34;
          iStack_158 = iVar15;
        }
        (*pcVar24)(puVar14);
      }
      iVar41 = iVar41 + 1;
      puVar36 = puVar36 + 1;
    } while (iVar41 < iStack_b8);
  }
  (**(code **)(pcVar10 + 0x544e0))(puVar12);
  (**(code **)(pcVar10 + 0x53574))();
  pcVar9 = (code *)*piVar11;
  if (pcStack_b4 == pcVar9) {
    return pcVar9;
  }
  pcVar24 = *(code **)(pcVar10 + 0x54100);
  (*pcVar24)();
  iVar13 = *piVar32;
  iVar18 = iStack_154 - piVar25[0x40];
  pcVar9 = (code *)0x1;
  iVar7 = iStack_158 - piVar25[0x3f];
  if (iStack_158 != 0) {
    pcVar9 = (code *)0x2;
  }
  iVar22 = iVar7 * 2;
  if (piVar25[0x42] == 0) {
    iVar26 = iVar18 + iVar22;
    if (piVar25[iVar26 * 0xd + 9] == 0) {
      FUN_000618d0(piVar25,iVar26);
    }
    iVar27 = piVar25[iVar26 * 0xd + 8];
    if (iVar18 != 0) {
      iVar18 = 0;
      if (iVar27 != 0) goto LAB_0006265c;
      piVar28 = piVar25 + iVar7 * 0x1a;
      iVar7 = piVar28[9];
      iVar18 = piVar25[0x41];
      goto joined_r0x00062808;
    }
    iVar18 = 0;
  }
  else {
    if (iVar18 == 0) {
      piVar28 = piVar25 + iVar7 * 0x1a;
      iVar7 = piVar28[9];
      iVar18 = 0;
    }
    else {
      piVar28 = piVar25 + iVar7 * 0x1a;
      iVar7 = piVar28[9];
      iVar18 = piVar25[0x41];
    }
joined_r0x00062808:
    iVar26 = iVar22;
    if (iVar7 == 0) {
      FUN_000618d0(piVar25,iVar22);
      iVar27 = piVar28[8];
    }
    else {
      iVar27 = piVar28[8];
    }
  }
  if (iVar27 == 0) {
    return pcVar9;
  }
LAB_0006265c:
  if (piVar25[0x3c] != 0) {
    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);
    if (0 < (int)in_stack_fffffea4) {
      puVar20 = puVar34;
      do {
        uVar4 = *in_stack_fffffea0;
        puVar21 = puVar20 + 2;
        in_stack_fffffea0 = in_stack_fffffea0 + 1;
        puVar20[1] = (char)uVar4;
        *puVar20 = (char)((uint)uVar4 >> 8);
        puVar20 = puVar21;
      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);
    }
    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,
                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,
                 piVar25[0x3d],(int)pcVar9 * iStack_150);
                    /* WARNING: Could not recover jumptable at 0x00062748. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);
    return pcVar9;
  }
  uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);
  uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,
                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);
  FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,
               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],
               (int)pcVar9 * iStack_150);
                    /* WARNING: Could not recover jumptable at 0x000628fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);
  return pcVar9;
}


lui gp,0x6
addiu gp,gp,-0x4700
addu gp,gp,t9
addiu sp,sp,-0x40
lw t9,-0x7334(gp)
sw s2,0x2c(sp)
lw s2,-0x70d8(gp)
sw ra,0x3c(sp)
sw gp,0x10(sp)
sw s5,0x38(sp)
sw s4,0x34(sp)
sw s3,0x30(sp)
or s3,a0,zero
sw s1,0x28(sp)
sw s0,0x24(sp)
or s0,a1,zero
lw v0,0x0(s2)
sw v0,0x1c(sp)
jalr t9
_nop
lw gp,0x10(sp)
lw t9,-0x7788(gp)
jalr t9
_or a0,v0,zero
lw gp,0x10(sp)
or s4,v0,zero
lw t9,-0x7334(gp)
jalr t9
_lw s5,0x20(s3)
lw gp,0x10(sp)
lw t9,-0x7788(gp)
jalr t9
_or a0,v0,zero
or a2,zero,zero
lw gp,0x10(sp)
or a0,v0,zero
or s1,v0,zero
lw a1,-0x7fa0(gp)
lw t9,-0x7270(gp)
jalr t9
_addiu a1,a1,0x17d0
addiu a2,sp,0x18
lw gp,0x10(sp)
or a1,v0,zero
lw t9,-0x7018(gp)
jalr t9
_or a0,s5,zero
beq v0,zero,0x00061a2c
_lw gp,0x10(sp)
lw t9,-0x7780(gp)
or a0,s1,zero
jalr t9
_lw a1,0x18(sp)
lw gp,0x10(sp)
lw t9,-0x7a88(gp)
addiu t9,t9,0x116c
bal 0x0006116c
_or a0,v0,zero
lw gp,0x10(sp)
beq v0,zero,0x00061a2c
_or s1,v0,zero
andi v0,s0,0x1
beq v0,zero,0x000619e0
_andi v0,s0,0x2
lw v0,-0x7fbc(gp)
addiu v0,v0,-0x503c
sw v0,0x8(s1)
andi v0,s0,0x2
beq v0,zero,0x00061a04
_lw t9,-0x7a88(gp)
lw v1,0x2c(s1)
lw v0,-0x7fbc(gp)
sll v1,v1,0x1
addiu v0,v0,-0x3680
sw v1,0x2c(s1)
sw v0,0x14(s1)
sw v0,0x10(s1)
addiu t9,t9,0x137c
bal 0x0006137c
_or a0,s1,zero
or a0,s1,zero
lw gp,0x10(sp)
lw t9,-0x7fc0(gp)
jalr t9
_or s1,v0,zero
b 0x00061a30
_lw gp,0x10(sp)
or s1,zero,zero
lw t9,-0x76e4(gp)
or a0,s4,zero
jalr t9
_or a1,s1,zero
li a1,0x34
lw gp,0x10(sp)
or a0,s1,zero
mul v1,s0,a1
lw t9,-0x7fc0(gp)
addu a1,v1,s3
sw v0,0x20(a1)
li v0,0x1
jalr t9
_sw v0,0x24(a1)
lw v1,0x1c(sp)
lw v0,0x0(s2)
bne v1,v0,0x00061a9c
_lw gp,0x10(sp)
lw ra,0x3c(sp)
lw s5,0x38(sp)
lw s4,0x34(sp)
lw s3,0x30(sp)
lw s2,0x2c(sp)
lw s1,0x28(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x40
lw t9,-0x7434(gp)
jalr t9
_nop
lui gp,0x6
addiu gp,gp,-0x48d8
addu gp,gp,t9
addiu sp,sp,-0x48
lw t9,-0x7334(gp)
sw s2,0x30(sp)
lw s2,-0x70d8(gp)
sw ra,0x44(sp)
sw gp,0x10(sp)
sw s5,0x3c(sp)
or s5,a2,zero
sw s4,0x38(sp)
or s4,a3,zero
sw s3,0x34(sp)
or s3,a1,zero
sw s1,0x2c(sp)
sw s0,0x28(sp)
sw s6,0x40(sp)
lw v0,0x0(s2)
sw v0,0x24(sp)
jalr t9
_nop
lw gp,0x10(sp)
lw t9,-0x7788(gp)
jalr t9
_or a0,v0,zero
or a1,s3,zero
lw gp,0x10(sp)
or a0,v0,zero
lw t9,-0x76e4(gp)
jalr t9
_or s1,v0,zero
lw gp,0x10(sp)
beq v0,zero,0x00061bec
_or s0,v0,zero
lw a1,-0x7fa0(gp)
or a2,zero,zero
lw t9,-0x7270(gp)
or a0,s1,zero
jalr t9
_addiu a1,a1,0x17d0
addiu a2,sp,0x1c
lw gp,0x10(sp)
or a1,v0,zero
lw t9,-0x7018(gp)
jalr t9
_or a0,s0,zero
beq v0,zero,0x00061bd4
_lw gp,0x10(sp)
lw t9,-0x7780(gp)
or a0,s1,zero
jalr t9
_lw a1,0x1c(sp)
lw gp,0x10(sp)
beq v0,zero,0x00061bd4
_or s6,v0,zero
lw a1,-0x7fbc(gp)
li v0,0xc
lw t9,-0x7270(gp)
or a2,zero,zero
or a0,s1,zero
sw v0,0x20(sp)
jalr t9
_addiu a1,a1,-0x367c
addiu a2,sp,0x20
lw gp,0x10(sp)
or a1,v0,zero
lw t9,-0x7018(gp)
jalr t9
_or a0,s0,zero
beq v0,zero,0x00061bd4
_lw gp,0x10(sp)
lw v0,0x20(sp)
bne v0,zero,0x00061c24
_lw t9,-0x7064(gp)
lw t9,-0x7064(gp)
or a1,s0,zero
or a0,s1,zero
jalr t9
_or s0,zero,zero
lw gp,0x10(sp)
lw a0,0x24(sp)
or v0,s0,zero
lw v1,0x0(s2)
bne a0,v1,0x00061c90
_lw ra,0x44(sp)
lw s6,0x40(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x48
or a1,s0,zero
sw v0,0x0(s5)
jalr t9
_or a0,s1,zero
beq s4,zero,0x00061c5c
_lw gp,0x10(sp)
lb v1,0x0(s3)
li v0,0x2d
beq v1,v0,0x00061c54
_lw v0,0x58(sp)
beq v0,zero,0x00061c88
_li v0,0x4
li v0,0x2
sw v0,0x0(s4)
lb v1,0x0(s3)
li v0,0x2d
beq v1,v0,0x00061c70
_lw v0,0x58(sp)
movz s6,s3,v0
lw t9,-0x7f98(gp)
jalr t9
_or a0,s6,zero
lw gp,0x10(sp)
b 0x00061bec
_or s0,v0,zero
b 0x00061c5c
_sw v0,0x0(s4)
lw t9,-0x7434(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00061c88) */\n/* WARNING: Removing unreachable block (ram,0x00061c6c) */\n\ncode * FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  int *piVar11;\n  uint *puVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  int *piVar25;\n  int iVar26;\n  int iVar27;\n  int *piVar28;\n  char *pcVar29;\n  int *piVar30;\n  code *pcVar31;\n  int *piVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  int *piVar35;\n  uint *puVar36;\n  int *piVar37;\n  undefined4 *puVar38;\n  undefined4 uVar39;\n  int *piVar40;\n  int unaff_s6;\n  int iVar41;\n  undefined4 *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  undefined4 *puStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  code *pcStack_b4;\n  code *pcStack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  code *pcStack_a4;\n  undefined4 *puStack_a0;\n  int *piStack_9c;\n  int iStack_98;\n  int local_6c;\n  int local_68;\n  int local_64;\n  uint local_60;\n  undefined4 local_5c;\n  undefined *local_58;\n  int local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  int local_28;\n  code *local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(code **)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  uVar39 = *(undefined4 *)(param_1 + 0x20);\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);\n  piVar30 = &local_28;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }\n  uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);\n  puVar8 = PTR_safefree_000b5210;\n  pcVar24 = (code *)(param_2 * 0x34 + param_1);\n  *(undefined4 *)(pcVar24 + 0x20) = uVar6;\n  *(undefined4 *)(pcVar24 + 0x24) = 1;\n  (*(code *)puVar8)(uVar5);\n  pcVar9 = *(code **)puVar3;\n  if (local_24 == pcVar9) {\n    return pcVar9;\n  }\n  puVar8 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  local_58 = puVar3;\n  piVar35 = *(int **)(puVar8 + 0x54650);\n  local_64 = *piVar35;\n  piVar28 = piVar30;\n  local_60 = param_2;\n  local_5c = uVar5;\n  local_54 = param_1;\n  local_50 = uVar4;\n  local_4c = uVar39;\n  uVar4 = (**(code **)(puVar8 + 0x543f4))();\n  uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);\n  pcVar9 = pcVar24;\n  pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);\n  pcVar31 = pcVar10;\n  if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }\nLAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }\n  pcVar10 = *(code **)(puVar8 + 0x542f4);\n  (*pcVar10)();\n  piVar11 = *(int **)(pcVar10 + 0x5445c);\n  piVar32 = (int *)0x8000;\n  pcStack_b4 = (code *)*piVar11;\n  pcStack_b0 = pcVar31;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar35;\n  pcStack_a4 = pcVar24;\n  puStack_a0 = param_4;\n  piStack_9c = piVar30;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar10 + 0x54200))();\n  uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar10 + 0x53578);\n  while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }\n  piVar32 = (int *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }\n  (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  (**(code **)(pcVar10 + 0x53574))();\n  pcVar9 = (code *)*piVar11;\n  if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }\n  pcVar24 = *(code **)(pcVar10 + 0x54100);\n  (*pcVar24)();\n  iVar13 = *piVar32;\n  iVar18 = iStack_154 - piVar25[0x40];\n  pcVar9 = (code *)0x1;\n  iVar7 = iStack_158 - piVar25[0x3f];\n  if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }\n  iVar22 = iVar7 * 2;\n  if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }\n  if (iVar27 == 0) {\n    return pcVar9;\n  }\nLAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    /* WARNING: Could not recover jumptable at 0x00062748. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }\n  uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);\n  FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);\n                    /* WARNING: Could not recover jumptable at 0x000628fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);\n  return pcVar9;\n}\n\n" comment comment (function_definition "code * FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  int *piVar11;\n  uint *puVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  int *piVar25;\n  int iVar26;\n  int iVar27;\n  int *piVar28;\n  char *pcVar29;\n  int *piVar30;\n  code *pcVar31;\n  int *piVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  int *piVar35;\n  uint *puVar36;\n  int *piVar37;\n  undefined4 *puVar38;\n  undefined4 uVar39;\n  int *piVar40;\n  int unaff_s6;\n  int iVar41;\n  undefined4 *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  undefined4 *puStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  code *pcStack_b4;\n  code *pcStack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  code *pcStack_a4;\n  undefined4 *puStack_a0;\n  int *piStack_9c;\n  int iStack_98;\n  int local_6c;\n  int local_68;\n  int local_64;\n  uint local_60;\n  undefined4 local_5c;\n  undefined *local_58;\n  int local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  int local_28;\n  code *local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(code **)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  uVar39 = *(undefined4 *)(param_1 + 0x20);\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);\n  piVar30 = &local_28;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }\n  uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);\n  puVar8 = PTR_safefree_000b5210;\n  pcVar24 = (code *)(param_2 * 0x34 + param_1);\n  *(undefined4 *)(pcVar24 + 0x20) = uVar6;\n  *(undefined4 *)(pcVar24 + 0x24) = 1;\n  (*(code *)puVar8)(uVar5);\n  pcVar9 = *(code **)puVar3;\n  if (local_24 == pcVar9) {\n    return pcVar9;\n  }\n  puVar8 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  local_58 = puVar3;\n  piVar35 = *(int **)(puVar8 + 0x54650);\n  local_64 = *piVar35;\n  piVar28 = piVar30;\n  local_60 = param_2;\n  local_5c = uVar5;\n  local_54 = param_1;\n  local_50 = uVar4;\n  local_4c = uVar39;\n  uVar4 = (**(code **)(puVar8 + 0x543f4))();\n  uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);\n  pcVar9 = pcVar24;\n  pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);\n  pcVar31 = pcVar10;\n  if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }\nLAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }\n  pcVar10 = *(code **)(puVar8 + 0x542f4);\n  (*pcVar10)();\n  piVar11 = *(int **)(pcVar10 + 0x5445c);\n  piVar32 = (int *)0x8000;\n  pcStack_b4 = (code *)*piVar11;\n  pcStack_b0 = pcVar31;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar35;\n  pcStack_a4 = pcVar24;\n  puStack_a0 = param_4;\n  piStack_9c = piVar30;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar10 + 0x54200))();\n  uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar10 + 0x53578);\n  while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }\n  piVar32 = (int *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }\n  (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  (**(code **)(pcVar10 + 0x53574))();\n  pcVar9 = (code *)*piVar11;\n  if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }\n  pcVar24 = *(code **)(pcVar10 + 0x54100);\n  (*pcVar24)();\n  iVar13 = *piVar32;\n  iVar18 = iStack_154 - piVar25[0x40];\n  pcVar9 = (code *)0x1;\n  iVar7 = iStack_158 - piVar25[0x3f];\n  if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }\n  iVar22 = iVar7 * 2;\n  if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }\n  if (iVar27 == 0) {\n    return pcVar9;\n  }\nLAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    /* WARNING: Could not recover jumptable at 0x00062748. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }\n  uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);\n  FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);\n                    /* WARNING: Could not recover jumptable at 0x000628fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);\n  return pcVar9;\n}" type_identifier (pointer_declarator "* FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)" * (function_declarator "FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)" identifier (parameter_list "(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  int *piVar11;\n  uint *puVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  int *piVar25;\n  int iVar26;\n  int iVar27;\n  int *piVar28;\n  char *pcVar29;\n  int *piVar30;\n  code *pcVar31;\n  int *piVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  int *piVar35;\n  uint *puVar36;\n  int *piVar37;\n  undefined4 *puVar38;\n  undefined4 uVar39;\n  int *piVar40;\n  int unaff_s6;\n  int iVar41;\n  undefined4 *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  undefined4 *puStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  code *pcStack_b4;\n  code *pcStack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  code *pcStack_a4;\n  undefined4 *puStack_a0;\n  int *piStack_9c;\n  int iStack_98;\n  int local_6c;\n  int local_68;\n  int local_64;\n  uint local_60;\n  undefined4 local_5c;\n  undefined *local_58;\n  int local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  int local_28;\n  code *local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(code **)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  uVar39 = *(undefined4 *)(param_1 + 0x20);\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);\n  piVar30 = &local_28;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }\n  uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);\n  puVar8 = PTR_safefree_000b5210;\n  pcVar24 = (code *)(param_2 * 0x34 + param_1);\n  *(undefined4 *)(pcVar24 + 0x20) = uVar6;\n  *(undefined4 *)(pcVar24 + 0x24) = 1;\n  (*(code *)puVar8)(uVar5);\n  pcVar9 = *(code **)puVar3;\n  if (local_24 == pcVar9) {\n    return pcVar9;\n  }\n  puVar8 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  local_58 = puVar3;\n  piVar35 = *(int **)(puVar8 + 0x54650);\n  local_64 = *piVar35;\n  piVar28 = piVar30;\n  local_60 = param_2;\n  local_5c = uVar5;\n  local_54 = param_1;\n  local_50 = uVar4;\n  local_4c = uVar39;\n  uVar4 = (**(code **)(puVar8 + 0x543f4))();\n  uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);\n  pcVar9 = pcVar24;\n  pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);\n  pcVar31 = pcVar10;\n  if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }\nLAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }\n  pcVar10 = *(code **)(puVar8 + 0x542f4);\n  (*pcVar10)();\n  piVar11 = *(int **)(pcVar10 + 0x5445c);\n  piVar32 = (int *)0x8000;\n  pcStack_b4 = (code *)*piVar11;\n  pcStack_b0 = pcVar31;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar35;\n  pcStack_a4 = pcVar24;\n  puStack_a0 = param_4;\n  piStack_9c = piVar30;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar10 + 0x54200))();\n  uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar10 + 0x53578);\n  while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }\n  piVar32 = (int *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }\n  (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  (**(code **)(pcVar10 + 0x53574))();\n  pcVar9 = (code *)*piVar11;\n  if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }\n  pcVar24 = *(code **)(pcVar10 + 0x54100);\n  (*pcVar24)();\n  iVar13 = *piVar32;\n  iVar18 = iStack_154 - piVar25[0x40];\n  pcVar9 = (code *)0x1;\n  iVar7 = iStack_158 - piVar25[0x3f];\n  if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }\n  iVar22 = iVar7 * 2;\n  if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }\n  if (iVar27 == 0) {\n    return pcVar9;\n  }\nLAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    /* WARNING: Could not recover jumptable at 0x00062748. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }\n  uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);\n  FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);\n                    /* WARNING: Could not recover jumptable at 0x000628fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);\n  return pcVar9;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "int *piVar28;" primitive_type (pointer_declarator "*piVar28" * identifier) ;) (declaration "char *pcVar29;" primitive_type (pointer_declarator "*pcVar29" * identifier) ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "int *piVar32;" primitive_type (pointer_declarator "*piVar32" * identifier) ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "undefined1 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "int *piVar35;" primitive_type (pointer_declarator "*piVar35" * identifier) ;) (declaration "uint *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "int *piVar37;" primitive_type (pointer_declarator "*piVar37" * identifier) ;) (declaration "undefined4 *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "undefined4 uVar39;" type_identifier identifier ;) (declaration "int *piVar40;" primitive_type (pointer_declarator "*piVar40" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "undefined4 *in_stack_fffffea0;" type_identifier (pointer_declarator "*in_stack_fffffea0" * identifier) ;) (declaration "undefined1 *in_stack_fffffea4;" type_identifier (pointer_declarator "*in_stack_fffffea4" * identifier) ;) (declaration "int iStack_158;" primitive_type identifier ;) (declaration "int iStack_154;" primitive_type identifier ;) (declaration "int iStack_150;" primitive_type identifier ;) (declaration "undefined4 *puStack_f4;" type_identifier (pointer_declarator "*puStack_f4" * identifier) ;) (declaration "int iStack_ec;" primitive_type identifier ;) (declaration "int iStack_b8;" primitive_type identifier ;) (declaration "code *pcStack_b4;" type_identifier (pointer_declarator "*pcStack_b4" * identifier) ;) (declaration "code *pcStack_b0;" type_identifier (pointer_declarator "*pcStack_b0" * identifier) ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "int *piStack_a8;" primitive_type (pointer_declarator "*piStack_a8" * identifier) ;) (declaration "code *pcStack_a4;" type_identifier (pointer_declarator "*pcStack_a4" * identifier) ;) (declaration "undefined4 *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "int *piStack_9c;" primitive_type (pointer_declarator "*piStack_9c" * identifier) ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "code *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000b60f8;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000b60f8" identifier = identifier) ;) (expression_statement "local_24 = *(code **)PTR___stack_chk_guard_000b60f8;" (assignment_expression "local_24 = *(code **)PTR___stack_chk_guard_000b60f8" identifier = (pointer_expression "*(code **)PTR___stack_chk_guard_000b60f8" * (cast_expression "(code **)PTR___stack_chk_guard_000b60f8" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();" (assignment_expression "uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)()" identifier = (call_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)()" (parenthesized_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)" ( (pointer_expression "*(code *)PTR_gdk_display_get_default_000b5e9c" * (cast_expression "(code *)PTR_gdk_display_get_default_000b5e9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);" (assignment_expression "uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4)" identifier = (call_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4)" (parenthesized_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)" ( (pointer_expression "*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" * (cast_expression "(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "uVar39 = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "uVar39 = *(undefined4 *)(param_1 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();" (assignment_expression "uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)()" identifier = (call_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)()" (parenthesized_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)" ( (pointer_expression "*(code *)PTR_gdk_display_get_default_000b5e9c" * (cast_expression "(code *)PTR_gdk_display_get_default_000b5e9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);" (assignment_expression "uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5)" identifier = (call_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5)" (parenthesized_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)" ( (pointer_expression "*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" * (cast_expression "(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);" (assignment_expression "uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0)" identifier = (call_expression "(*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0)" (parenthesized_expression "(*(code *)PTR_XInternAtom_000b5f60)" ( (pointer_expression "*(code *)PTR_XInternAtom_000b5f60" * (cast_expression "(code *)PTR_XInternAtom_000b5f60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,PTR_DAT_000b5230 + 0x17d0,0)" ( identifier , (binary_expression "PTR_DAT_000b5230 + 0x17d0" identifier + number_literal) , number_literal )))) ;) (expression_statement "piVar30 = &local_28;" (assignment_expression "piVar30 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (expression_statement "iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);" (assignment_expression "iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6)" identifier = (call_expression "(*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6)" (parenthesized_expression "(*(code *)PTR_XGetFontProperty_000b61b8)" ( (pointer_expression "*(code *)PTR_XGetFontProperty_000b61b8" * (cast_expression "(code *)PTR_XGetFontProperty_000b61b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar39,uVar6)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00061a2c:\n    uVar5 = 0;\n  }" { (labeled_statement "LAB_00061a2c:\n    uVar5 = 0;" statement_identifier : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }" else (compound_statement "{\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }" { (expression_statement "uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);" (assignment_expression "uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28)" identifier = (call_expression "(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28)" (parenthesized_expression "(*(code *)PTR_XGetAtomName_000b5a50)" ( (pointer_expression "*(code *)PTR_XGetAtomName_000b5a50" * (cast_expression "(code *)PTR_XGetAtomName_000b5a50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,local_28)" ( identifier , identifier )))) ;) (expression_statement "iVar7 = FUN_0006116c(uVar5);" (assignment_expression "iVar7 = FUN_0006116c(uVar5)" identifier = (call_expression "FUN_0006116c(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00061a2c;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00061a2c;" goto statement_identifier ;)) (if_statement "if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }" if (parenthesized_expression "((param_2 & 1) != 0)" ( (binary_expression "(param_2 & 1) != 0" (parenthesized_expression "(param_2 & 1)" ( (binary_expression "param_2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }" { (expression_statement "*(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;" (assignment_expression "*(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c" (pointer_expression "*(undefined **)(iVar7 + 8)" * (cast_expression "(undefined **)(iVar7 + 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "PTR_s_XXXXXXXXXX___________000b5214 + -0x503c" identifier + number_literal)) ;) })) (if_statement "if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }" if (parenthesized_expression "((param_2 & 2) != 0)" ( (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" ( (binary_expression "param_2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }" { (expression_statement "puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;" (assignment_expression "puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680" identifier = (binary_expression "PTR_s_XXXXXXXXXX___________000b5214 + -0x3680" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;" (assignment_expression "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" * (cast_expression "(int *)(iVar7 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar7 + 0x2c) << 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" * (cast_expression "(int *)(iVar7 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) )))) << number_literal)) ;) (expression_statement "*(undefined **)(iVar7 + 0x14) = puVar8;" (assignment_expression "*(undefined **)(iVar7 + 0x14) = puVar8" (pointer_expression "*(undefined **)(iVar7 + 0x14)" * (cast_expression "(undefined **)(iVar7 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(iVar7 + 0x10) = puVar8;" (assignment_expression "*(undefined **)(iVar7 + 0x10) = puVar8" (pointer_expression "*(undefined **)(iVar7 + 0x10)" * (cast_expression "(undefined **)(iVar7 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar5 = FUN_0006137c(iVar7);" (assignment_expression "uVar5 = FUN_0006137c(iVar7)" identifier = (call_expression "FUN_0006137c(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_safefree_000b5210)(iVar7);" (call_expression "(*(code *)PTR_safefree_000b5210)(iVar7)" (parenthesized_expression "(*(code *)PTR_safefree_000b5210)" ( (pointer_expression "*(code *)PTR_safefree_000b5210" * (cast_expression "(code *)PTR_safefree_000b5210" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) }))) (expression_statement "uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);" (assignment_expression "uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5)" identifier = (call_expression "(*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5)" (parenthesized_expression "(*(code *)PTR_XLoadQueryFont_000b5aec)" ( (pointer_expression "*(code *)PTR_XLoadQueryFont_000b5aec" * (cast_expression "(code *)PTR_XLoadQueryFont_000b5aec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4,uVar5)" ( identifier , identifier )))) ;) (expression_statement "puVar8 = PTR_safefree_000b5210;" (assignment_expression "puVar8 = PTR_safefree_000b5210" identifier = identifier) ;) (expression_statement "pcVar24 = (code *)(param_2 * 0x34 + param_1);" (assignment_expression "pcVar24 = (code *)(param_2 * 0x34 + param_1)" identifier = (cast_expression "(code *)(param_2 * 0x34 + param_1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 * 0x34 + param_1)" ( (binary_expression "param_2 * 0x34 + param_1" (binary_expression "param_2 * 0x34" identifier * number_literal) + identifier) )))) ;) (expression_statement "*(undefined4 *)(pcVar24 + 0x20) = uVar6;" (assignment_expression "*(undefined4 *)(pcVar24 + 0x20) = uVar6" (pointer_expression "*(undefined4 *)(pcVar24 + 0x20)" * (cast_expression "(undefined4 *)(pcVar24 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x20)" ( (binary_expression "pcVar24 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar24 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(pcVar24 + 0x24) = 1" (pointer_expression "*(undefined4 *)(pcVar24 + 0x24)" * (cast_expression "(undefined4 *)(pcVar24 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x24)" ( (binary_expression "pcVar24 + 0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)puVar8)(uVar5);" (call_expression "(*(code *)puVar8)(uVar5)" (parenthesized_expression "(*(code *)puVar8)" ( (pointer_expression "*(code *)puVar8" * (cast_expression "(code *)puVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "pcVar9 = *(code **)puVar3;" (assignment_expression "pcVar9 = *(code **)puVar3" identifier = (pointer_expression "*(code **)puVar3" * (cast_expression "(code **)puVar3" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (local_24 == pcVar9) {\n    return pcVar9;\n  }" if (parenthesized_expression "(local_24 == pcVar9)" ( (binary_expression "local_24 == pcVar9" identifier == identifier) )) (compound_statement "{\n    return pcVar9;\n  }" { (return_statement "return pcVar9;" return identifier ;) })) (expression_statement "puVar8 = PTR___stack_chk_fail_000b5d9c;" (assignment_expression "puVar8 = PTR___stack_chk_fail_000b5d9c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b5d9c)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b5d9c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b5d9c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b5d9c" * (cast_expression "(code *)PTR___stack_chk_fail_000b5d9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_58 = puVar3;" (assignment_expression "local_58 = puVar3" identifier = identifier) ;) (expression_statement "piVar35 = *(int **)(puVar8 + 0x54650);" (assignment_expression "piVar35 = *(int **)(puVar8 + 0x54650)" identifier = (pointer_expression "*(int **)(puVar8 + 0x54650)" * (cast_expression "(int **)(puVar8 + 0x54650)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x54650)" ( (binary_expression "puVar8 + 0x54650" identifier + number_literal) ))))) ;) (expression_statement "local_64 = *piVar35;" (assignment_expression "local_64 = *piVar35" identifier = (pointer_expression "*piVar35" * identifier)) ;) (expression_statement "piVar28 = piVar30;" (assignment_expression "piVar28 = piVar30" identifier = identifier) ;) (expression_statement "local_60 = param_2;" (assignment_expression "local_60 = param_2" identifier = identifier) ;) (expression_statement "local_5c = uVar5;" (assignment_expression "local_5c = uVar5" identifier = identifier) ;) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" identifier = identifier) ;) (expression_statement "local_50 = uVar4;" (assignment_expression "local_50 = uVar4" identifier = identifier) ;) (expression_statement "local_4c = uVar39;" (assignment_expression "local_4c = uVar39" identifier = identifier) ;) (expression_statement "uVar4 = (**(code **)(puVar8 + 0x543f4))();" (assignment_expression "uVar4 = (**(code **)(puVar8 + 0x543f4))()" identifier = (call_expression "(**(code **)(puVar8 + 0x543f4))()" (parenthesized_expression "(**(code **)(puVar8 + 0x543f4))" ( (pointer_expression "**(code **)(puVar8 + 0x543f4)" * (pointer_expression "*(code **)(puVar8 + 0x543f4)" * (cast_expression "(code **)(puVar8 + 0x543f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x543f4)" ( (binary_expression "puVar8 + 0x543f4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);" (assignment_expression "uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4)" identifier = (call_expression "(**(code **)(puVar8 + 0x53fa0))(uVar4)" (parenthesized_expression "(**(code **)(puVar8 + 0x53fa0))" ( (pointer_expression "**(code **)(puVar8 + 0x53fa0)" * (pointer_expression "*(code **)(puVar8 + 0x53fa0)" * (cast_expression "(code **)(puVar8 + 0x53fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x53fa0)" ( (binary_expression "puVar8 + 0x53fa0" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "pcVar9 = pcVar24;" (assignment_expression "pcVar9 = pcVar24" identifier = identifier) ;) (expression_statement "pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);" (assignment_expression "pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4)" identifier = (cast_expression "(code *)(**(code **)(puVar8 + 0x54044))(uVar4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar8 + 0x54044))(uVar4)" (parenthesized_expression "(**(code **)(puVar8 + 0x54044))" ( (pointer_expression "**(code **)(puVar8 + 0x54044)" * (pointer_expression "*(code **)(puVar8 + 0x54044)" * (cast_expression "(code **)(puVar8 + 0x54044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x54044)" ( (binary_expression "puVar8 + 0x54044" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier ))))) ;) (expression_statement "pcVar31 = pcVar10;" (assignment_expression "pcVar31 = pcVar10" identifier = identifier) ;) (if_statement "if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }" if (parenthesized_expression "(pcVar10 != (code *)0x0)" ( (binary_expression "pcVar10 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);" (assignment_expression "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0)" identifier = (call_expression "(**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0)" (parenthesized_expression "(**(code **)(puVar8 + 0x544b8))" ( (pointer_expression "**(code **)(puVar8 + 0x544b8)" * (pointer_expression "*(code **)(puVar8 + 0x544b8)" * (cast_expression "(code **)(puVar8 + 0x544b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x544b8)" ( (binary_expression "puVar8 + 0x544b8" identifier + number_literal) ))))) )) (argument_list "(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x53788) + 0x17d0" (pointer_expression "*(int *)(puVar8 + 0x53788)" * (cast_expression "(int *)(puVar8 + 0x53788)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x53788)" ( (binary_expression "puVar8 + 0x53788" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "piVar28 = &local_6c;" (assignment_expression "piVar28 = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;) (expression_statement "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);" (assignment_expression "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" identifier = (call_expression "(**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" (parenthesized_expression "(**(code **)(puVar8 + 0x54710))" ( (pointer_expression "**(code **)(puVar8 + 0x54710)" * (pointer_expression "*(code **)(puVar8 + 0x54710)" * (cast_expression "(code **)(puVar8 + 0x54710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x54710)" ( (binary_expression "puVar8 + 0x54710" identifier + number_literal) ))))) )) (argument_list "(pcVar10,uVar5)" ( identifier , identifier )))) ;) (if_statement "if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }" if (parenthesized_expression "((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))" ( (binary_expression "(iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0)" ( (comma_expression "unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0" (assignment_expression "unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c)" identifier = (call_expression "(**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c)" (parenthesized_expression "(**(code **)(puVar8 + 0x53fa8))" ( (pointer_expression "**(code **)(puVar8 + 0x53fa8)" * (pointer_expression "*(code **)(puVar8 + 0x53fa8)" * (cast_expression "(code **)(puVar8 + 0x53fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x53fa8)" ( (binary_expression "puVar8 + 0x53fa8" identifier + number_literal) ))))) )) (argument_list "(uVar4,local_6c)" ( identifier , identifier )))) , (binary_expression "unaff_s6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }" { (expression_statement "local_68 = 0xc;" (assignment_expression "local_68 = 0xc" identifier = number_literal) ;) (expression_statement "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);" (assignment_expression "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0)" identifier = (call_expression "(**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0)" (parenthesized_expression "(**(code **)(puVar8 + 0x544b8))" ( (pointer_expression "**(code **)(puVar8 + 0x544b8)" * (pointer_expression "*(code **)(puVar8 + 0x544b8)" * (cast_expression "(code **)(puVar8 + 0x544b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x544b8)" ( (binary_expression "puVar8 + 0x544b8" identifier + number_literal) ))))) )) (argument_list "(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x5376c) + -0x367c" (pointer_expression "*(int *)(puVar8 + 0x5376c)" * (cast_expression "(int *)(puVar8 + 0x5376c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x5376c)" ( (binary_expression "puVar8 + 0x5376c" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "piVar28 = &local_68;" (assignment_expression "piVar28 = &local_68" identifier = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);" (assignment_expression "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" identifier = (call_expression "(**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" (parenthesized_expression "(**(code **)(puVar8 + 0x54710))" ( (pointer_expression "**(code **)(puVar8 + 0x54710)" * (pointer_expression "*(code **)(puVar8 + 0x54710)" * (cast_expression "(code **)(puVar8 + 0x54710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x54710)" ( (binary_expression "puVar8 + 0x54710" identifier + number_literal) ))))) )) (argument_list "(pcVar10,uVar5)" ( identifier , identifier )))) ;) (if_statement "if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }" if (parenthesized_expression "((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0))" ( (binary_expression "(iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)" ( (comma_expression "pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x546c4)" identifier = (pointer_expression "*(code **)(puVar8 + 0x546c4)" * (cast_expression "(code **)(puVar8 + 0x546c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x546c4)" ( (binary_expression "puVar8 + 0x546c4" identifier + number_literal) ))))) , (binary_expression "local_68 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }" { (expression_statement "*piVar30 = local_68;" (assignment_expression "*piVar30 = local_68" (pointer_expression "*piVar30" * identifier) = identifier) ;) (expression_statement "(*pcVar9)(uVar4);" (call_expression "(*pcVar9)(uVar4)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(uVar4)" ( identifier ))) ;) (if_statement "if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }" if (parenthesized_expression "(param_4 != (undefined4 *)0x0)" ( (binary_expression "param_4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *param_4 = 2;\n        }" { (expression_statement "*param_4 = 2;" (assignment_expression "*param_4 = 2" (pointer_expression "*param_4" * identifier) = number_literal) ;) })) (expression_statement "pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);" (assignment_expression "pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6)" identifier = (cast_expression "(code *)(**(code **)(puVar8 + 0x53790))(unaff_s6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar8 + 0x53790))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar8 + 0x53790))" ( (pointer_expression "**(code **)(puVar8 + 0x53790)" * (pointer_expression "*(code **)(puVar8 + 0x53790)" * (cast_expression "(code **)(puVar8 + 0x53790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x53790)" ( (binary_expression "puVar8 + 0x53790" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier ))))) ;) (expression_statement "pcVar9 = pcVar10;" (assignment_expression "pcVar9 = pcVar10" identifier = identifier) ;) (goto_statement "goto LAB_00061bec;" goto statement_identifier ;) })) })) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar8 + 0x546c4))(uVar4);" (call_expression "(**(code **)(puVar8 + 0x546c4))(uVar4)" (parenthesized_expression "(**(code **)(puVar8 + 0x546c4))" ( (pointer_expression "**(code **)(puVar8 + 0x546c4)" * (pointer_expression "*(code **)(puVar8 + 0x546c4)" * (cast_expression "(code **)(puVar8 + 0x546c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x546c4)" ( (binary_expression "puVar8 + 0x546c4" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "pcVar9 = pcVar10;" (assignment_expression "pcVar9 = pcVar10" identifier = identifier) ;) })) (labeled_statement "LAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }" statement_identifier : (if_statement "if (local_64 == *piVar35) {\n    return pcVar31;\n  }" if (parenthesized_expression "(local_64 == *piVar35)" ( (binary_expression "local_64 == *piVar35" identifier == (pointer_expression "*piVar35" * identifier)) )) (compound_statement "{\n    return pcVar31;\n  }" { (return_statement "return pcVar31;" return identifier ;) }))) (expression_statement "pcVar10 = *(code **)(puVar8 + 0x542f4);" (assignment_expression "pcVar10 = *(code **)(puVar8 + 0x542f4)" identifier = (pointer_expression "*(code **)(puVar8 + 0x542f4)" * (cast_expression "(code **)(puVar8 + 0x542f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x542f4)" ( (binary_expression "puVar8 + 0x542f4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar11 = *(int **)(pcVar10 + 0x5445c);" (assignment_expression "piVar11 = *(int **)(pcVar10 + 0x5445c)" identifier = (pointer_expression "*(int **)(pcVar10 + 0x5445c)" * (cast_expression "(int **)(pcVar10 + 0x5445c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x5445c)" ( (binary_expression "pcVar10 + 0x5445c" identifier + number_literal) ))))) ;) (expression_statement "piVar32 = (int *)0x8000;" (assignment_expression "piVar32 = (int *)0x8000" identifier = (cast_expression "(int *)0x8000" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_b4 = (code *)*piVar11;" (assignment_expression "pcStack_b4 = (code *)*piVar11" identifier = (cast_expression "(code *)*piVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) (expression_statement "pcStack_b0 = pcVar31;" (assignment_expression "pcStack_b0 = pcVar31" identifier = identifier) ;) (expression_statement "uStack_ac = uVar4;" (assignment_expression "uStack_ac = uVar4" identifier = identifier) ;) (expression_statement "piStack_a8 = piVar35;" (assignment_expression "piStack_a8 = piVar35" identifier = identifier) ;) (expression_statement "pcStack_a4 = pcVar24;" (assignment_expression "pcStack_a4 = pcVar24" identifier = identifier) ;) (expression_statement "puStack_a0 = param_4;" (assignment_expression "puStack_a0 = param_4" identifier = identifier) ;) (expression_statement "piStack_9c = piVar30;" (assignment_expression "piStack_9c = piVar30" identifier = identifier) ;) (expression_statement "iStack_98 = unaff_s6;" (assignment_expression "iStack_98 = unaff_s6" identifier = identifier) ;) (expression_statement "uVar4 = (**(code **)(pcVar10 + 0x54200))();" (assignment_expression "uVar4 = (**(code **)(pcVar10 + 0x54200))()" identifier = (call_expression "(**(code **)(pcVar10 + 0x54200))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x54200))" ( (pointer_expression "**(code **)(pcVar10 + 0x54200)" * (pointer_expression "*(code **)(pcVar10 + 0x54200)" * (cast_expression "(code **)(pcVar10 + 0x54200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54200)" ( (binary_expression "pcVar10 + 0x54200" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);" (assignment_expression "uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53dac))(uVar4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53dac))" ( (pointer_expression "**(code **)(pcVar10 + 0x53dac)" * (pointer_expression "*(code **)(pcVar10 + 0x53dac)" * (cast_expression "(code **)(pcVar10 + 0x53dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53dac)" ( (binary_expression "pcVar10 + 0x53dac" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar7 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }" { (expression_statement "piVar30 = piVar32;" (assignment_expression "piVar30 = piVar32" identifier = identifier) ;) (expression_statement "piVar35 = &iStack_b8;" (assignment_expression "piVar35 = &iStack_b8" identifier = (pointer_expression "&iStack_b8" & identifier)) ;) (expression_statement "puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);" (assignment_expression "puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32)" identifier = (cast_expression "(uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54470))" ( (pointer_expression "**(code **)(pcVar10 + 0x54470)" * (pointer_expression "*(code **)(pcVar10 + 0x54470)" * (cast_expression "(code **)(pcVar10 + 0x54470)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54470)" ( (binary_expression "pcVar10 + 0x54470" identifier + number_literal) ))))) )) (argument_list "(uVar4,iVar7 + -0x3680,piVar32)" ( identifier , (binary_expression "iVar7 + -0x3680" identifier + number_literal) , identifier ))))) ;) (expression_statement "piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);" (assignment_expression "piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32)" identifier = (cast_expression "(int *)(uint)(iStack_b8 < (int)piVar32)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iStack_b8 < (int)piVar32)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iStack_b8 < (int)piVar32)" ( (binary_expression "iStack_b8 < (int)piVar32" identifier < (cast_expression "(int)piVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (piVar25 != (int *)0x0) break;" if (parenthesized_expression "(piVar25 != (int *)0x0)" ( (binary_expression "piVar25 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "piVar32 = (int *)((int)piVar32 << 1);" (assignment_expression "piVar32 = (int *)((int)piVar32 << 1)" identifier = (cast_expression "(int *)((int)piVar32 << 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar32 << 1)" ( (binary_expression "(int)piVar32 << 1" (cast_expression "(int)piVar32" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "(**(code **)(pcVar10 + 0x544e0))(puVar12);" (call_expression "(**(code **)(pcVar10 + 0x544e0))(puVar12)" (parenthesized_expression "(**(code **)(pcVar10 + 0x544e0))" ( (pointer_expression "**(code **)(pcVar10 + 0x544e0)" * (pointer_expression "*(code **)(pcVar10 + 0x544e0)" * (cast_expression "(code **)(pcVar10 + 0x544e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x544e0)" ( (binary_expression "pcVar10 + 0x544e0" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier ))) ;) })) (expression_statement "piVar32 = (int *)0x0;" (assignment_expression "piVar32 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }" if (parenthesized_expression "(0 < iStack_b8)" ( (binary_expression "0 < iStack_b8" number_literal < identifier) )) (compound_statement "{\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }" { (expression_statement "iVar7 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar7 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "iVar41 = 0;" (assignment_expression "iVar41 = 0" identifier = number_literal) ;) (expression_statement "iVar18 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar18 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "piVar32 = (int *)0x0;" (assignment_expression "piVar32 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar22 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar22 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar7 + -0x360c);" (assignment_expression "uVar4 = *(undefined4 *)(iVar7 + -0x360c)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + -0x360c)" * (cast_expression "(undefined4 *)(iVar7 + -0x360c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x360c)" ( (binary_expression "iVar7 + -0x360c" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = *(int *)(pcVar10 + 0x5355c);" (assignment_expression "iVar26 = *(int *)(pcVar10 + 0x5355c)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x5355c)" * (cast_expression "(int *)(pcVar10 + 0x5355c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x5355c)" ( (binary_expression "pcVar10 + 0x5355c" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(pcVar10 + 0x53aac);" (assignment_expression "iVar13 = *(int *)(pcVar10 + 0x53aac)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53aac)" * (cast_expression "(int *)(pcVar10 + 0x53aac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53aac)" ( (binary_expression "pcVar10 + 0x53aac" identifier + number_literal) ))))) ;) (expression_statement "iStack_ec = 0;" (assignment_expression "iStack_ec = 0" identifier = number_literal) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar18 + -0x3614);" (assignment_expression "uVar5 = *(undefined4 *)(iVar18 + -0x3614)" identifier = (pointer_expression "*(undefined4 *)(iVar18 + -0x3614)" * (cast_expression "(undefined4 *)(iVar18 + -0x3614)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -0x3614)" ( (binary_expression "iVar18 + -0x3614" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar27 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(iVar22 + -0x362c);" (assignment_expression "uVar6 = *(undefined4 *)(iVar22 + -0x362c)" identifier = (pointer_expression "*(undefined4 *)(iVar22 + -0x362c)" * (cast_expression "(undefined4 *)(iVar22 + -0x362c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x362c)" ( (binary_expression "iVar22 + -0x362c" identifier + number_literal) ))))) ;) (expression_statement "puVar36 = puVar12;" (assignment_expression "puVar36 = puVar12" identifier = identifier) ;) (do_statement "do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);" do (compound_statement "{\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    }" { (expression_statement "puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);" (assignment_expression "puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36)" identifier = (cast_expression "(undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar13 + 0x116c))(*puVar36)" (parenthesized_expression "(*(code *)(iVar13 + 0x116c))" ( (pointer_expression "*(code *)(iVar13 + 0x116c)" * (cast_expression "(code *)(iVar13 + 0x116c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x116c)" ( (binary_expression "iVar13 + 0x116c" identifier + number_literal) )))) )) (argument_list "(*puVar36)" ( (pointer_expression "*puVar36" * identifier) ))))) ;) (if_statement "if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }" if (parenthesized_expression "(puVar14 == (undefined4 *)0x0)" ( (binary_expression "puVar14 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }" { (expression_statement "piVar25 = (int *)*puVar36;" (assignment_expression "piVar25 = (int *)*puVar36" identifier = (cast_expression "(int *)*puVar36" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar36" * identifier))) ;) (expression_statement "piVar35 = (int *)0x0;" (assignment_expression "piVar35 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_150 = iVar26 + 0x4768;" (assignment_expression "iStack_150 = iVar26 + 0x4768" identifier = (binary_expression "iVar26 + 0x4768" identifier + number_literal)) ;) (expression_statement "iStack_154 = 4;" (assignment_expression "iStack_154 = 4" identifier = number_literal) ;) (expression_statement "iStack_158 = 0;" (assignment_expression "iStack_158 = 0" identifier = number_literal) ;) (expression_statement "in_stack_fffffea4 = (undefined1 *)0x0;" (assignment_expression "in_stack_fffffea4 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffea0 = (undefined4 *)0x0;" (assignment_expression "in_stack_fffffea0 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar30 = piVar25;" (assignment_expression "piVar30 = piVar25" identifier = identifier) ;) (expression_statement "(*pcVar9)(piVar28);" (call_expression "(*pcVar9)(piVar28)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar28)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar10 + 0x53574))(0);" (call_expression "(**(code **)(pcVar10 + 0x53574))(0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53574))" ( (pointer_expression "**(code **)(pcVar10 + 0x53574)" * (pointer_expression "*(code **)(pcVar10 + 0x53574)" * (cast_expression "(code **)(pcVar10 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53574)" ( (binary_expression "pcVar10 + 0x53574" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }" else (compound_statement "{\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }" { (expression_statement "iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);" (assignment_expression "iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54364))(*puVar36)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(*puVar36)" ( (pointer_expression "*puVar36" * identifier) )))) ;) (expression_statement "iVar15 = (iVar15 + 0x40) * 4;" (assignment_expression "iVar15 = (iVar15 + 0x40) * 4" identifier = (binary_expression "(iVar15 + 0x40) * 4" (parenthesized_expression "(iVar15 + 0x40)" ( (binary_expression "iVar15 + 0x40" identifier + number_literal) )) * number_literal)) ;) (if_statement "if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }" if (parenthesized_expression "(iStack_ec < iVar15)" ( (binary_expression "iStack_ec < iVar15" identifier < identifier) )) (compound_statement "{\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }" { (expression_statement "piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);" (assignment_expression "piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1)" identifier = (cast_expression "(int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1)" (parenthesized_expression "(**(code **)(pcVar10 + 0x5366c))" ( (pointer_expression "**(code **)(pcVar10 + 0x5366c)" * (pointer_expression "*(code **)(pcVar10 + 0x5366c)" * (cast_expression "(code **)(pcVar10 + 0x5366c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x5366c)" ( (binary_expression "pcVar10 + 0x5366c" identifier + number_literal) ))))) )) (argument_list "(piVar32,iVar15,1)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "iStack_ec = iVar15;" (assignment_expression "iStack_ec = iVar15" identifier = identifier) ;) })) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" ( (pointer_expression "**(code **)(pcVar10 + 0x54344)" * (pointer_expression "*(code **)(pcVar10 + 0x54344)" * (cast_expression "(code **)(pcVar10 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54344)" ( (binary_expression "pcVar10 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14)" ( identifier , number_literal , number_literal , (binary_expression "iVar27 + -0x3668" identifier + number_literal) , (subscript_expression "puVar14[1]" identifier [ number_literal ]) , (pointer_expression "*puVar14" * identifier) )))) ;) (expression_statement "piVar40 = (int *)((int)piVar32 + iVar16 + 1);" (assignment_expression "piVar40 = (int *)((int)piVar32 + iVar16 + 1)" identifier = (cast_expression "(int *)((int)piVar32 + iVar16 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar32 + iVar16 + 1)" ( (binary_expression "(int)piVar32 + iVar16 + 1" (binary_expression "(int)piVar32 + iVar16" (cast_expression "(int)piVar32" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd])" identifier = (call_expression "(**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" ( (pointer_expression "**(code **)(pcVar10 + 0x54344)" * (pointer_expression "*(code **)(pcVar10 + 0x54344)" * (cast_expression "(code **)(pcVar10 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54344)" ( (binary_expression "pcVar10 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd])" ( identifier , number_literal , number_literal , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3688" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , (subscript_expression "puVar14[0xc]" identifier [ number_literal ]) , (subscript_expression "puVar14[0xd]" identifier [ number_literal ]) )))) ;) (expression_statement "pcVar29 = (char *)puVar14[2];" (assignment_expression "pcVar29 = (char *)puVar14[2]" identifier = (cast_expression "(char *)puVar14[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[2]" identifier [ number_literal ]))) ;) (expression_statement "puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);" (assignment_expression "puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1)" identifier = (cast_expression "(undefined4 *)((int)piVar40 + iVar16 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar40 + iVar16 + 1)" ( (binary_expression "(int)piVar40 + iVar16 + 1" (binary_expression "(int)piVar40 + iVar16" (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }" if (parenthesized_expression "(*pcVar29 == '\0')" ( (binary_expression "*pcVar29 == '\0'" (pointer_expression "*pcVar29" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }" { (expression_statement "pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);" (assignment_expression "pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670)" identifier = (cast_expression "(char *)(*(int *)(pcVar10 + 0x53578) + -0x3670)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x3670)" ( (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3670" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54320))" ( (pointer_expression "**(code **)(pcVar10 + 0x54320)" * (pointer_expression "*(code **)(pcVar10 + 0x54320)" * (cast_expression "(code **)(pcVar10 + 0x54320)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54320)" ( (binary_expression "pcVar10 + 0x54320" identifier + number_literal) ))))) )) (argument_list "(puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29)" ( identifier , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x40d8" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar38 + iVar16);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar38 + iVar16)" identifier = (cast_expression "(undefined4 *)((int)puVar38 + iVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar38 + iVar16)" ( (binary_expression "(int)puVar38 + iVar16" (cast_expression "(int)puVar38" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3660" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" { (expression_statement "uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);" (assignment_expression "uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c)" * (cast_expression "(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x364c)" ( (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x364c" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);" (assignment_expression "*puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650)" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650)" * (cast_expression "(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x3650)" ( (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3650" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar33[1] = uVar39;" (assignment_expression "puVar33[1] = uVar39" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + 7);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + 7)" identifier = (cast_expression "(undefined4 *)((int)puVar33 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + 7)" ( (binary_expression "(int)puVar33 + 7" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];" statement_identifier : (expression_statement "pcVar29 = (char *)puVar14[4];" (assignment_expression "pcVar29 = (char *)puVar14[4]" identifier = (cast_expression "(char *)puVar14[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[4]" identifier [ number_literal ]))) ;)) (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar29 == '\0') goto LAB_00061ef8;" if (parenthesized_expression "(*pcVar29 == '\0')" ( (binary_expression "*pcVar29 == '\0'" (pointer_expression "*pcVar29" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00061ef8;" goto statement_identifier ;)) (labeled_statement "LAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);" statement_identifier : (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(pcVar29,iVar16 + -0x361c)" ( identifier , (binary_expression "iVar16 + -0x361c" identifier + number_literal) )))) ;)) (if_statement "if (iVar17 == 0) goto LAB_00061ef8;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00061ef8;" goto statement_identifier ;)) (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])" identifier = (call_expression "(**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" ( (pointer_expression "**(code **)(pcVar10 + 0x54344)" * (pointer_expression "*(code **)(pcVar10 + 0x54344)" * (cast_expression "(code **)(pcVar10 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54344)" ( (binary_expression "pcVar10 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])" ( identifier , number_literal , number_literal , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x12b0" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , (subscript_expression "puVar14[4]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + iVar17);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + iVar17)" identifier = (cast_expression "(undefined4 *)((int)puVar33 + iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + iVar17)" ( (binary_expression "(int)puVar33 + iVar17" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" ( (subscript_expression "puVar14[10]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x6dc4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar17 == 0) goto LAB_000622e8;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000622e8;" goto statement_identifier ;)) (labeled_statement "LAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);" statement_identifier : (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724)" ( (subscript_expression "puVar14[10]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x2724" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;)) (if_statement "if (iVar17 != 0) goto LAB_00061f30;" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00061f30;" goto statement_identifier ;)) (labeled_statement "LAB_00062324:\n          *puVar33 = uVar4;" statement_identifier : (expression_statement "*puVar33 = uVar4;" (assignment_expression "*puVar33 = uVar4" (pointer_expression "*puVar33" * identifier) = identifier) ;)) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);" (assignment_expression "*(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608)" (pointer_expression "*(undefined1 *)puVar33" * (cast_expression "(undefined1 *)puVar33" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(iVar7 + -0x3608)" * (cast_expression "(undefined1 *)(iVar7 + -0x3608)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x3608)" ( (binary_expression "iVar7 + -0x3608" identifier + number_literal) ))))) ;) (expression_statement "pcVar29 = (char *)puVar14[5];" (assignment_expression "pcVar29 = (char *)puVar14[5]" identifier = (cast_expression "(char *)puVar14[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[5]" identifier [ number_literal ]))) ;) (expression_statement "cVar1 = *pcVar29;" (assignment_expression "cVar1 = *pcVar29" identifier = (pointer_expression "*pcVar29" * identifier)) ;) (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" else (compound_statement "{\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" { (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x72bc" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }" { (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x365c" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }" { (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = *(undefined4 *)(iVar16 + -0x3654);" (assignment_expression "uVar23 = *(undefined4 *)(iVar16 + -0x3654)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x3654)" * (cast_expression "(undefined4 *)(iVar16 + -0x3654)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3654)" ( (binary_expression "iVar16 + -0x3654" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = *(undefined4 *)(iVar16 + -0x3650);" (assignment_expression "uVar19 = *(undefined4 *)(iVar16 + -0x3650)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x3650)" * (cast_expression "(undefined4 *)(iVar16 + -0x3650)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3650)" ( (binary_expression "iVar16 + -0x3650" identifier + number_literal) ))))) ;) (expression_statement "uVar39 = *(undefined4 *)(iVar16 + -0x364c);" (assignment_expression "uVar39 = *(undefined4 *)(iVar16 + -0x364c)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x364c)" * (cast_expression "(undefined4 *)(iVar16 + -0x364c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x364c)" ( (binary_expression "iVar16 + -0x364c" identifier + number_literal) ))))) ;) (expression_statement "*puVar33 = *(undefined4 *)(iVar16 + -0x3658);" (assignment_expression "*puVar33 = *(undefined4 *)(iVar16 + -0x3658)" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*(undefined4 *)(iVar16 + -0x3658)" * (cast_expression "(undefined4 *)(iVar16 + -0x3658)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3658)" ( (binary_expression "iVar16 + -0x3658" identifier + number_literal) ))))) ;) (expression_statement "puVar33[1] = uVar23;" (assignment_expression "puVar33[1] = uVar23" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[2] = uVar19;" (assignment_expression "puVar33[2] = uVar19" (subscript_expression "puVar33[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[3] = uVar39;" (assignment_expression "puVar33[3] = uVar39" (subscript_expression "puVar33[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + 0xf);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + 0xf)" identifier = (cast_expression "(undefined4 *)((int)puVar33 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + 0xf)" ( (binary_expression "(int)puVar33 + 0xf" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }" else (compound_statement "{\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }" { (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3648" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }" { (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = *(undefined4 *)(iVar16 + -0x3640);" (assignment_expression "uVar23 = *(undefined4 *)(iVar16 + -0x3640)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x3640)" * (cast_expression "(undefined4 *)(iVar16 + -0x3640)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3640)" ( (binary_expression "iVar16 + -0x3640" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = *(undefined4 *)(iVar16 + -0x363c);" (assignment_expression "uVar19 = *(undefined4 *)(iVar16 + -0x363c)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x363c)" * (cast_expression "(undefined4 *)(iVar16 + -0x363c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x363c)" ( (binary_expression "iVar16 + -0x363c" identifier + number_literal) ))))) ;) (expression_statement "uVar39 = *(undefined4 *)(iVar16 + -0x3638);" (assignment_expression "uVar39 = *(undefined4 *)(iVar16 + -0x3638)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x3638)" * (cast_expression "(undefined4 *)(iVar16 + -0x3638)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3638)" ( (binary_expression "iVar16 + -0x3638" identifier + number_literal) ))))) ;) (expression_statement "*puVar33 = *(undefined4 *)(iVar16 + -0x3644);" (assignment_expression "*puVar33 = *(undefined4 *)(iVar16 + -0x3644)" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*(undefined4 *)(iVar16 + -0x3644)" * (cast_expression "(undefined4 *)(iVar16 + -0x3644)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3644)" ( (binary_expression "iVar16 + -0x3644" identifier + number_literal) ))))) ;) (expression_statement "puVar33[1] = uVar23;" (assignment_expression "puVar33[1] = uVar23" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[2] = uVar19;" (assignment_expression "puVar33[2] = uVar19" (subscript_expression "puVar33[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[3] = uVar39;" (assignment_expression "puVar33[3] = uVar39" (subscript_expression "puVar33[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33 = puVar33 + 4;" (assignment_expression "puVar33 = puVar33 + 4" identifier = (binary_expression "puVar33 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);" (assignment_expression "*(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634)" (pointer_expression "*(undefined1 *)puVar33" * (cast_expression "(undefined1 *)puVar33" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(iVar16 + -0x3634)" * (cast_expression "(undefined1 *)(iVar16 + -0x3634)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3634)" ( (binary_expression "iVar16 + -0x3634" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }" else (compound_statement "{\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }" { (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3630" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }" { (expression_statement "*puVar33 = uVar6;" (assignment_expression "*puVar33 = uVar6" (pointer_expression "*puVar33" * identifier) = identifier) ;) (expression_statement "uVar39 = *(undefined4 *)(iVar22 + -0x3624);" (assignment_expression "uVar39 = *(undefined4 *)(iVar22 + -0x3624)" identifier = (pointer_expression "*(undefined4 *)(iVar22 + -0x3624)" * (cast_expression "(undefined4 *)(iVar22 + -0x3624)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x3624)" ( (binary_expression "iVar22 + -0x3624" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined1 *)(iVar22 + -0x3620);" (assignment_expression "uVar2 = *(undefined1 *)(iVar22 + -0x3620)" identifier = (pointer_expression "*(undefined1 *)(iVar22 + -0x3620)" * (cast_expression "(undefined1 *)(iVar22 + -0x3620)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x3620)" ( (binary_expression "iVar22 + -0x3620" identifier + number_literal) ))))) ;) (expression_statement "puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);" (assignment_expression "puVar33[1] = *(undefined4 *)(iVar22 + -0x3628)" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar22 + -0x3628)" * (cast_expression "(undefined4 *)(iVar22 + -0x3628)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x3628)" ( (binary_expression "iVar22 + -0x3628" identifier + number_literal) ))))) ;) (expression_statement "puVar33[2] = uVar39;" (assignment_expression "puVar33[2] = uVar39" (subscript_expression "puVar33[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33 = puVar33 + 3;" (assignment_expression "puVar33 = puVar33 + 3" identifier = (binary_expression "puVar33 + 3" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar33 = uVar2;" (assignment_expression "*(undefined1 *)puVar33 = uVar2" (pointer_expression "*(undefined1 *)puVar33" * (cast_expression "(undefined1 *)puVar33" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) })) }))) }))) (goto_statement "goto LAB_00061ee8;" goto statement_identifier ;) })) (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar39 = *(undefined4 *)(iVar16 + -0x3638);" (assignment_expression "uVar39 = *(undefined4 *)(iVar16 + -0x3638)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x3638)" * (cast_expression "(undefined4 *)(iVar16 + -0x3638)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3638)" ( (binary_expression "iVar16 + -0x3638" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined1 *)(iVar16 + -0x3634);" (assignment_expression "uVar2 = *(undefined1 *)(iVar16 + -0x3634)" identifier = (pointer_expression "*(undefined1 *)(iVar16 + -0x3634)" * (cast_expression "(undefined1 *)(iVar16 + -0x3634)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3634)" ( (binary_expression "iVar16 + -0x3634" identifier + number_literal) ))))) ;) (expression_statement "*puVar33 = *(undefined4 *)(iVar16 + -0x363c);" (assignment_expression "*puVar33 = *(undefined4 *)(iVar16 + -0x363c)" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*(undefined4 *)(iVar16 + -0x363c)" * (cast_expression "(undefined4 *)(iVar16 + -0x363c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x363c)" ( (binary_expression "iVar16 + -0x363c" identifier + number_literal) ))))) ;) (expression_statement "puVar33[1] = uVar39;" (assignment_expression "puVar33[1] = uVar39" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33 = puVar33 + 2;" (assignment_expression "puVar33 = puVar33 + 2" identifier = (binary_expression "puVar33 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar33 = uVar2;" (assignment_expression "*(undefined1 *)puVar33 = uVar2" (pointer_expression "*(undefined1 *)puVar33" * (cast_expression "(undefined1 *)puVar33" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "pcVar29 = (char *)puVar14[4];" (assignment_expression "pcVar29 = (char *)puVar14[4]" identifier = (cast_expression "(char *)puVar14[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[4]" identifier [ number_literal ]))) ;) (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar29 != '\0') goto LAB_0006228c;" if (parenthesized_expression "(*pcVar29 != '\0')" ( (binary_expression "*pcVar29 != '\0'" (pointer_expression "*pcVar29" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0006228c;" goto statement_identifier ;)) (labeled_statement "LAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);" statement_identifier : (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" ( (subscript_expression "puVar14[10]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x6dc4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;)) (if_statement "if (iVar17 != 0) goto LAB_00061f14;" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00061f14;" goto statement_identifier ;)) (labeled_statement "LAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);" statement_identifier : (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;)) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x53f38);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x53f38)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) ;) (expression_statement "*puVar33 = uVar5;" (assignment_expression "*puVar33 = uVar5" (pointer_expression "*puVar33" * identifier) = identifier) ;) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);" (assignment_expression "*(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610)" (pointer_expression "*(undefined1 *)puVar33" * (cast_expression "(undefined1 *)puVar33" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(iVar18 + -0x3610)" * (cast_expression "(undefined1 *)(iVar18 + -0x3610)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -0x3610)" ( (binary_expression "iVar18 + -0x3610" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);" (assignment_expression "iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724)" identifier = (call_expression "(*pcVar24)(puVar14[10],iVar17 + -0x2724)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar14[10],iVar17 + -0x2724)" ( (subscript_expression "puVar14[10]" identifier [ number_literal ]) , (binary_expression "iVar17 + -0x2724" identifier + number_literal) )))) ;) (if_statement "if (iVar17 == 0) goto LAB_00062324;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00062324;" goto statement_identifier ;)) (labeled_statement "LAB_00061f30:\n          pcVar29 = (char *)puVar14[5];" statement_identifier : (expression_statement "pcVar29 = (char *)puVar14[5];" (assignment_expression "pcVar29 = (char *)puVar14[5]" identifier = (cast_expression "(char *)puVar14[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[5]" identifier [ number_literal ]))) ;)) (expression_statement "cVar1 = *pcVar29;" (assignment_expression "cVar1 = *pcVar29" identifier = (pointer_expression "*pcVar29" * identifier)) ;) (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) }))) (if_statement "if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }" { (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" ( (pointer_expression "**(code **)(pcVar10 + 0x54344)" * (pointer_expression "*(code **)(pcVar10 + 0x54344)" * (cast_expression "(code **)(pcVar10 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54344)" ( (binary_expression "pcVar10 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29)" ( identifier , number_literal , number_literal , (binary_expression "iVar17 + -0x12b0" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + iVar17);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + iVar17)" identifier = (cast_expression "(undefined4 *)((int)puVar33 + iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + iVar17)" ( (binary_expression "(int)puVar33 + iVar17" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "puVar34 = (undefined1 *)((int)puVar33 + 1);" (assignment_expression "puVar34 = (undefined1 *)((int)puVar33 + 1)" identifier = (cast_expression "(undefined1 *)((int)puVar33 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + 1)" ( (binary_expression "(int)puVar33 + 1" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3604" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }" if (parenthesized_expression "((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 ))" ( (binary_expression "(((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )" (parenthesized_expression "(((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            )" ( (binary_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)" (parenthesized_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))" ( (binary_expression "(iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0)" (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0)" ( (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3670" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)" ( (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],iVar16 + -0x361c)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "iVar16 + -0x361c" identifier + number_literal) )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )" ( (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35fc" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          puStack_f4 = (undefined4 *)0x0;\n        }" { (expression_statement "puStack_f4 = (undefined4 *)0x0;" (assignment_expression "puStack_f4 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }" else (compound_statement "{\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }" { (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54304))" ( (pointer_expression "**(code **)(pcVar10 + 0x54304)" * (pointer_expression "*(code **)(pcVar10 + 0x54304)" * (cast_expression "(code **)(pcVar10 + 0x54304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54304)" ( (binary_expression "pcVar10 + 0x54304" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35f4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }" if (parenthesized_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))" ( (binary_expression "(iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0)" (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0)" ( (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54304))" ( (pointer_expression "**(code **)(pcVar10 + 0x54304)" * (pointer_expression "*(code **)(pcVar10 + 0x54304)" * (cast_expression "(code **)(pcVar10 + 0x54304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54304)" ( (binary_expression "pcVar10 + 0x54304" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35ec" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , number_literal )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            puStack_f4 = (undefined4 *)0x1;\n          }" { (expression_statement "puStack_f4 = (undefined4 *)0x1;" (assignment_expression "puStack_f4 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            puStack_f4 = (undefined4 *)0x2;\n          }" else (compound_statement "{\n            puStack_f4 = (undefined4 *)0x2;\n          }" { (expression_statement "puStack_f4 = (undefined4 *)0x2;" (assignment_expression "puStack_f4 = (undefined4 *)0x2" identifier = (cast_expression "(undefined4 *)0x2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);" (assignment_expression "iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],iVar17 + -0x702c)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "iVar17 + -0x702c" identifier + number_literal) )))) ;) (if_statement "if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }" if (parenthesized_expression "(iStack_154 != 0)" ( (binary_expression "iStack_154 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }" { (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54304))" ( (pointer_expression "**(code **)(pcVar10 + 0x54304)" * (pointer_expression "*(code **)(pcVar10 + 0x54304)" * (cast_expression "(code **)(pcVar10 + 0x54304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54304)" ( (binary_expression "pcVar10 + 0x54304" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],iVar17 + -0x702c,1)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "iVar17 + -0x702c" identifier + number_literal) , number_literal )))) ;) (expression_statement "iStack_154 = 1;" (assignment_expression "iStack_154 = 1" identifier = number_literal) ;) (if_statement "if (iVar17 == 0) {\n            iStack_154 = 2;\n          }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            iStack_154 = 2;\n          }" { (expression_statement "iStack_154 = 2;" (assignment_expression "iStack_154 = 2" identifier = number_literal) ;) })) })) (expression_statement "(**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);" (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[4],iVar16 + -0x361c)" ( (subscript_expression "puVar14[4]" identifier [ number_literal ]) , (binary_expression "iVar16 + -0x361c" identifier + number_literal) ))) ;) (expression_statement "iStack_158 = puVar14[2];" (assignment_expression "iStack_158 = puVar14[2]" identifier = (subscript_expression "puVar14[2]" identifier [ number_literal ])) ;) (expression_statement "in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);" (assignment_expression "in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar10 + 0x54364))(iStack_158)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(iStack_158)" ( identifier ))))) ;) (expression_statement "iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);" (assignment_expression "iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3])" identifier = (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[3])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar14[3])" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) )))) ;) (expression_statement "(**(code **)(pcVar10 + 0x54364))(puVar14[4]);" (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[4])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar14[4])" ( (subscript_expression "puVar14[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcVar10 + 0x54364))(puVar14[10]);" (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[10])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar14[10])" ( (subscript_expression "puVar14[10]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcVar10 + 0x54364))(puVar14[5]);" (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[5])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar14[5])" ( (subscript_expression "puVar14[5]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar30 = (int *)0xffffffff;" (assignment_expression "piVar30 = (int *)0xffffffff" identifier = (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);" (assignment_expression "piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x35e4)" ( (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35e4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" ( (pointer_expression "**(code **)(pcVar10 + 0x54344)" * (pointer_expression "*(code **)(pcVar10 + 0x54344)" * (cast_expression "(code **)(pcVar10 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54344)" ( (binary_expression "pcVar10 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(puVar34,1,0xffffffff)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }" if (parenthesized_expression "(iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32)))" ( (binary_expression "iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))" identifier <= (cast_expression "(int)(puVar34 + (iVar16 - (int)piVar32))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar34 + (iVar16 - (int)piVar32))" ( (binary_expression "puVar34 + (iVar16 - (int)piVar32)" identifier + (parenthesized_expression "(iVar16 - (int)piVar32)" ( (binary_expression "iVar16 - (int)piVar32" identifier - (cast_expression "(int)piVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) )) (compound_statement "{\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }" { (expression_statement "pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" identifier = (cast_expression "(code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53da4))" ( (pointer_expression "**(code **)(pcVar10 + 0x53da4)" * (pointer_expression "*(code **)(pcVar10 + 0x53da4)" * (cast_expression "(code **)(pcVar10 + 0x53da4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53da4)" ( (binary_expression "pcVar10 + 0x53da4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" ( (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35a8" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35b8" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x30c0" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pcVar9;" return identifier ;) })) (expression_statement "piVar37 = *(int **)(pcVar10 + 0x53690);" (assignment_expression "piVar37 = *(int **)(pcVar10 + 0x53690)" identifier = (pointer_expression "*(int **)(pcVar10 + 0x53690)" * (cast_expression "(int **)(pcVar10 + 0x53690)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53690)" ( (binary_expression "pcVar10 + 0x53690" identifier + number_literal) ))))) ;) (expression_statement "pcVar29 = (char *)puVar14[10];" (assignment_expression "pcVar29 = (char *)puVar14[10]" identifier = (cast_expression "(char *)puVar14[10]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[10]" identifier [ number_literal ]))) ;) (expression_statement "iVar15 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar15 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x54198);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x54198)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x54198)" * (cast_expression "(code **)(pcVar10 + 0x54198)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54198)" ( (binary_expression "pcVar10 + 0x54198" identifier + number_literal) ))))) ;) (expression_statement "*piVar37 = 2;" (assignment_expression "*piVar37 = 2" (pointer_expression "*piVar37" * identifier) = number_literal) ;) (expression_statement "piVar25 = (int *)(int)*pcVar29;" (assignment_expression "piVar25 = (int *)(int)*pcVar29" identifier = (cast_expression "(int *)(int)*pcVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*pcVar29" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar29" * identifier)))) ;) (expression_statement "iVar15 = (*pcVar24)(iVar15 + -0x3590);" (assignment_expression "iVar15 = (*pcVar24)(iVar15 + -0x3590)" identifier = (call_expression "(*pcVar24)(iVar15 + -0x3590)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(iVar15 + -0x3590)" ( (binary_expression "iVar15 + -0x3590" identifier + number_literal) )))) ;) (if_statement "if (iVar15 == 0) {\n          *piVar37 = 10;\n        }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n          *piVar37 = 10;\n        }" { (expression_statement "*piVar37 = 10;" (assignment_expression "*piVar37 = 10" (pointer_expression "*piVar37" * identifier) = number_literal) ;) })) (expression_statement "iVar15 = puVar14[6];" (assignment_expression "iVar15 = puVar14[6]" identifier = (subscript_expression "puVar14[6]" identifier [ number_literal ])) ;) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x53574);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x53574)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x53574)" * (cast_expression "(code **)(pcVar10 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53574)" ( (binary_expression "pcVar10 + 0x53574" identifier + number_literal) ))))) ;) (expression_statement "in_stack_fffffea0 = puStack_f4;" (assignment_expression "in_stack_fffffea0 = puStack_f4" identifier = identifier) ;) (if_statement "if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }" { (expression_statement "piVar25 = (int *)*puVar36;" (assignment_expression "piVar25 = (int *)*puVar36" identifier = (cast_expression "(int *)*puVar36" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar36" * identifier))) ;) (expression_statement "iStack_150 = iVar26 + 0x4768;" (assignment_expression "iStack_150 = iVar26 + 0x4768" identifier = (binary_expression "iVar26 + 0x4768" identifier + number_literal)) ;) (expression_statement "iStack_154 = *piVar37;" (assignment_expression "iStack_154 = *piVar37" identifier = (pointer_expression "*piVar37" * identifier)) ;) (expression_statement "piVar30 = piVar32;" (assignment_expression "piVar30 = piVar32" identifier = identifier) ;) (expression_statement "(*pcVar9)(piVar28,piVar25,piVar32);" (call_expression "(*pcVar9)(piVar28,piVar25,piVar32)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar28,piVar25,piVar32)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x53574);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x53574)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x53574)" * (cast_expression "(code **)(pcVar10 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53574)" ( (binary_expression "pcVar10 + 0x53574" identifier + number_literal) ))))) ;) (expression_statement "piVar35 = piVar40;" (assignment_expression "piVar35 = piVar40" identifier = identifier) ;) (expression_statement "in_stack_fffffea0 = puVar38;" (assignment_expression "in_stack_fffffea0 = puVar38" identifier = identifier) ;) (expression_statement "in_stack_fffffea4 = puVar34;" (assignment_expression "in_stack_fffffea4 = puVar34" identifier = identifier) ;) (expression_statement "iStack_158 = iVar15;" (assignment_expression "iStack_158 = iVar15" identifier = identifier) ;) })) (expression_statement "(*pcVar24)(puVar14);" (call_expression "(*pcVar24)(puVar14)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar14)" ( identifier ))) ;) }))) (expression_statement "iVar41 = iVar41 + 1;" (assignment_expression "iVar41 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "puVar36 = puVar36 + 1;" (assignment_expression "puVar36 = puVar36 + 1" identifier = (binary_expression "puVar36 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar41 < iStack_b8)" ( (binary_expression "iVar41 < iStack_b8" identifier < identifier) )) ;) })) (expression_statement "(**(code **)(pcVar10 + 0x544e0))(puVar12);" (call_expression "(**(code **)(pcVar10 + 0x544e0))(puVar12)" (parenthesized_expression "(**(code **)(pcVar10 + 0x544e0))" ( (pointer_expression "**(code **)(pcVar10 + 0x544e0)" * (pointer_expression "*(code **)(pcVar10 + 0x544e0)" * (cast_expression "(code **)(pcVar10 + 0x544e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x544e0)" ( (binary_expression "pcVar10 + 0x544e0" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar10 + 0x53574))();" (call_expression "(**(code **)(pcVar10 + 0x53574))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x53574))" ( (pointer_expression "**(code **)(pcVar10 + 0x53574)" * (pointer_expression "*(code **)(pcVar10 + 0x53574)" * (cast_expression "(code **)(pcVar10 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53574)" ( (binary_expression "pcVar10 + 0x53574" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar9 = (code *)*piVar11;" (assignment_expression "pcVar9 = (code *)*piVar11" identifier = (cast_expression "(code *)*piVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) (if_statement "if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }" if (parenthesized_expression "(pcStack_b4 == pcVar9)" ( (binary_expression "pcStack_b4 == pcVar9" identifier == identifier) )) (compound_statement "{\n    return pcVar9;\n  }" { (return_statement "return pcVar9;" return identifier ;) })) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x54100);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x54100)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x54100)" * (cast_expression "(code **)(pcVar10 + 0x54100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54100)" ( (binary_expression "pcVar10 + 0x54100" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar13 = *piVar32;" (assignment_expression "iVar13 = *piVar32" identifier = (pointer_expression "*piVar32" * identifier)) ;) (expression_statement "iVar18 = iStack_154 - piVar25[0x40];" (assignment_expression "iVar18 = iStack_154 - piVar25[0x40]" identifier = (binary_expression "iStack_154 - piVar25[0x40]" identifier - (subscript_expression "piVar25[0x40]" identifier [ number_literal ]))) ;) (expression_statement "pcVar9 = (code *)0x1;" (assignment_expression "pcVar9 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = iStack_158 - piVar25[0x3f];" (assignment_expression "iVar7 = iStack_158 - piVar25[0x3f]" identifier = (binary_expression "iStack_158 - piVar25[0x3f]" identifier - (subscript_expression "piVar25[0x3f]" identifier [ number_literal ]))) ;) (if_statement "if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }" if (parenthesized_expression "(iStack_158 != 0)" ( (binary_expression "iStack_158 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar9 = (code *)0x2;\n  }" { (expression_statement "pcVar9 = (code *)0x2;" (assignment_expression "pcVar9 = (code *)0x2" identifier = (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "iVar22 = iVar7 * 2;" (assignment_expression "iVar22 = iVar7 * 2" identifier = (binary_expression "iVar7 * 2" identifier * number_literal)) ;) (if_statement "if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }" if (parenthesized_expression "(piVar25[0x42] == 0)" ( (binary_expression "piVar25[0x42] == 0" (subscript_expression "piVar25[0x42]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }" { (expression_statement "iVar26 = iVar18 + iVar22;" (assignment_expression "iVar26 = iVar18 + iVar22" identifier = (binary_expression "iVar18 + iVar22" identifier + identifier)) ;) (if_statement "if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }" if (parenthesized_expression "(piVar25[iVar26 * 0xd + 9] == 0)" ( (binary_expression "piVar25[iVar26 * 0xd + 9] == 0" (subscript_expression "piVar25[iVar26 * 0xd + 9]" identifier [ (binary_expression "iVar26 * 0xd + 9" (binary_expression "iVar26 * 0xd" identifier * number_literal) + number_literal) ]) == number_literal) )) (compound_statement "{\n      FUN_000618d0(piVar25,iVar26);\n    }" { (expression_statement "FUN_000618d0(piVar25,iVar26);" (call_expression "FUN_000618d0(piVar25,iVar26)" identifier (argument_list "(piVar25,iVar26)" ( identifier , identifier ))) ;) })) (expression_statement "iVar27 = piVar25[iVar26 * 0xd + 8];" (assignment_expression "iVar27 = piVar25[iVar26 * 0xd + 8]" identifier = (subscript_expression "piVar25[iVar26 * 0xd + 8]" identifier [ (binary_expression "iVar26 * 0xd + 8" (binary_expression "iVar26 * 0xd" identifier * number_literal) + number_literal) ])) ;) (if_statement "if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }" { (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (if_statement "if (iVar27 != 0) goto LAB_0006265c;" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006265c;" goto statement_identifier ;)) (expression_statement "piVar28 = piVar25 + iVar7 * 0x1a;" (assignment_expression "piVar28 = piVar25 + iVar7 * 0x1a" identifier = (binary_expression "piVar25 + iVar7 * 0x1a" identifier + (binary_expression "iVar7 * 0x1a" identifier * number_literal))) ;) (expression_statement "iVar7 = piVar28[9];" (assignment_expression "iVar7 = piVar28[9]" identifier = (subscript_expression "piVar28[9]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = piVar25[0x41];" (assignment_expression "iVar18 = piVar25[0x41]" identifier = (subscript_expression "piVar25[0x41]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x00062808;" goto statement_identifier ;) })) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }" else (compound_statement "{\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }" { (if_statement "if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }" { (expression_statement "piVar28 = piVar25 + iVar7 * 0x1a;" (assignment_expression "piVar28 = piVar25 + iVar7 * 0x1a" identifier = (binary_expression "piVar25 + iVar7 * 0x1a" identifier + (binary_expression "iVar7 * 0x1a" identifier * number_literal))) ;) (expression_statement "iVar7 = piVar28[9];" (assignment_expression "iVar7 = piVar28[9]" identifier = (subscript_expression "piVar28[9]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }" else (compound_statement "{\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }" { (expression_statement "piVar28 = piVar25 + iVar7 * 0x1a;" (assignment_expression "piVar28 = piVar25 + iVar7 * 0x1a" identifier = (binary_expression "piVar25 + iVar7 * 0x1a" identifier + (binary_expression "iVar7 * 0x1a" identifier * number_literal))) ;) (expression_statement "iVar7 = piVar28[9];" (assignment_expression "iVar7 = piVar28[9]" identifier = (subscript_expression "piVar28[9]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = piVar25[0x41];" (assignment_expression "iVar18 = piVar25[0x41]" identifier = (subscript_expression "piVar25[0x41]" identifier [ number_literal ])) ;) }))) (labeled_statement "joined_r0x00062808:\n    iVar26 = iVar22;" statement_identifier : (expression_statement "iVar26 = iVar22;" (assignment_expression "iVar26 = iVar22" identifier = identifier) ;)) (if_statement "if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }" { (expression_statement "FUN_000618d0(piVar25,iVar22);" (call_expression "FUN_000618d0(piVar25,iVar22)" identifier (argument_list "(piVar25,iVar22)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = piVar28[8];" (assignment_expression "iVar27 = piVar28[8]" identifier = (subscript_expression "piVar28[8]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      iVar27 = piVar28[8];\n    }" else (compound_statement "{\n      iVar27 = piVar28[8];\n    }" { (expression_statement "iVar27 = piVar28[8];" (assignment_expression "iVar27 = piVar28[8]" identifier = (subscript_expression "piVar28[8]" identifier [ number_literal ])) ;) }))) }))) (if_statement "if (iVar27 == 0) {\n    return pcVar9;\n  }" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (compound_statement "{\n    return pcVar9;\n  }" { (return_statement "return pcVar9;" return identifier ;) })) (labeled_statement "LAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    /* WARNING: Could not recover jumptable at 0x00062748. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }" statement_identifier : (if_statement "if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    /* WARNING: Could not recover jumptable at 0x00062748. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }" if (parenthesized_expression "(piVar25[0x3c] != 0)" ( (binary_expression "piVar25[0x3c] != 0" (subscript_expression "piVar25[0x3c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    /* WARNING: Could not recover jumptable at 0x00062748. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }" { (expression_statement "puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);" (assignment_expression "puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c74))" ( (pointer_expression "**(code **)(pcVar24 + 0x52c74)" * (pointer_expression "*(code **)(pcVar24 + 0x52c74)" * (cast_expression "(code **)(pcVar24 + 0x52c74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x52c74)" ( (binary_expression "pcVar24 + 0x52c74" identifier + number_literal) ))))) )) (argument_list "(in_stack_fffffea4,2)" ( identifier , number_literal ))))) ;) (if_statement "if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }" if (parenthesized_expression "(0 < (int)in_stack_fffffea4)" ( (binary_expression "0 < (int)in_stack_fffffea4" number_literal < (cast_expression "(int)in_stack_fffffea4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }" { (expression_statement "puVar20 = puVar34;" (assignment_expression "puVar20 = puVar34" identifier = identifier) ;) (do_statement "do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);" do (compound_statement "{\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      }" { (expression_statement "uVar4 = *in_stack_fffffea0;" (assignment_expression "uVar4 = *in_stack_fffffea0" identifier = (pointer_expression "*in_stack_fffffea0" * identifier)) ;) (expression_statement "puVar21 = puVar20 + 2;" (assignment_expression "puVar21 = puVar20 + 2" identifier = (binary_expression "puVar20 + 2" identifier + number_literal)) ;) (expression_statement "in_stack_fffffea0 = in_stack_fffffea0 + 1;" (assignment_expression "in_stack_fffffea0 = in_stack_fffffea0 + 1" identifier = (binary_expression "in_stack_fffffea0 + 1" identifier + number_literal)) ;) (expression_statement "puVar20[1] = (char)uVar4;" (assignment_expression "puVar20[1] = (char)uVar4" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = (cast_expression "(char)uVar4" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*puVar20 = (char)((uint)uVar4 >> 8);" (assignment_expression "*puVar20 = (char)((uint)uVar4 >> 8)" (pointer_expression "*puVar20" * identifier) = (cast_expression "(char)((uint)uVar4 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar4 >> 8)" ( (binary_expression "(uint)uVar4 >> 8" (cast_expression "(uint)uVar4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" identifier = identifier) ;) }) while (parenthesized_expression "(puVar34 + (int)in_stack_fffffea4 * 2 != puVar21)" ( (binary_expression "puVar34 + (int)in_stack_fffffea4 * 2 != puVar21" (binary_expression "puVar34 + (int)in_stack_fffffea4 * 2" identifier + (binary_expression "(int)in_stack_fffffea4 * 2" (cast_expression "(int)in_stack_fffffea4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) != identifier) )) ;) })) (expression_statement "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);" (call_expression "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150)" identifier (argument_list "(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150)" ( (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc" (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750" (pointer_expression "*(int *)(pcVar24 + 0x52c60)" * (cast_expression "(int *)(pcVar24 + 0x52c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x52c60)" ( (binary_expression "pcVar24 + 0x52c60" identifier + number_literal) )))) + number_literal) + (binary_expression "(iVar13 * 2 + 1) * 0xc" (parenthesized_expression "(iVar13 * 2 + 1)" ( (binary_expression "iVar13 * 2 + 1" (binary_expression "iVar13 * 2" identifier * number_literal) + number_literal) )) * number_literal)) , identifier , (binary_expression "piVar25 + iVar26 * 0xd + 8" (binary_expression "piVar25 + iVar26 * 0xd" identifier + (binary_expression "iVar26 * 0xd" identifier * number_literal)) + number_literal) , identifier , identifier , identifier , identifier , identifier , (subscript_expression "piVar25[0x3d]" identifier [ number_literal ]) , (binary_expression "(int)pcVar9 * iStack_150" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) * identifier) ))) ;) comment comment (expression_statement "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34)" identifier = (cast_expression "(code *)(**(code **)(pcVar24 + 0x52c78))(puVar34)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x52c78))(puVar34)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c78))" ( (pointer_expression "**(code **)(pcVar24 + 0x52c78)" * (pointer_expression "*(code **)(pcVar24 + 0x52c78)" * (cast_expression "(code **)(pcVar24 + 0x52c78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x52c78)" ( (binary_expression "pcVar24 + 0x52c78" identifier + number_literal) ))))) )) (argument_list "(puVar34)" ( identifier ))))) ;) (return_statement "return pcVar9;" return identifier ;) }))) (expression_statement "uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);" (assignment_expression "uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1)" identifier = (call_expression "(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c74))" ( (pointer_expression "**(code **)(pcVar24 + 0x52c74)" * (pointer_expression "*(code **)(pcVar24 + 0x52c74)" * (cast_expression "(code **)(pcVar24 + 0x52c74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x52c74)" ( (binary_expression "pcVar24 + 0x52c74" identifier + number_literal) ))))) )) (argument_list "(in_stack_fffffea4 + 1,1)" ( (binary_expression "in_stack_fffffea4 + 1" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);" (assignment_expression "uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0)" identifier = (call_expression "wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0)" identifier (argument_list "(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0)" ( (subscript_expression "piVar25[0x3e]" identifier [ number_literal ]) , number_literal , identifier , identifier , identifier , (binary_expression "in_stack_fffffea4 + 1" identifier + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x52c7c) + -0x48f0" (pointer_expression "*(int *)(pcVar24 + 0x52c7c)" * (cast_expression "(int *)(pcVar24 + 0x52c7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x52c7c)" ( (binary_expression "pcVar24 + 0x52c7c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal )))) ;) (expression_statement "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);" (call_expression "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150)" identifier (argument_list "(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150)" ( (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18" (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750" (pointer_expression "*(int *)(pcVar24 + 0x52c60)" * (cast_expression "(int *)(pcVar24 + 0x52c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x52c60)" ( (binary_expression "pcVar24 + 0x52c60" identifier + number_literal) )))) + number_literal) + (binary_expression "iVar13 * 0x18" identifier * number_literal)) , identifier , (binary_expression "piVar25 + iVar26 * 0xd + 8" (binary_expression "piVar25 + iVar26 * 0xd" identifier + (binary_expression "iVar26 * 0xd" identifier * number_literal)) + number_literal) , identifier , identifier , identifier , identifier , identifier , (subscript_expression "piVar25[0x3d]" identifier [ number_literal ]) , (binary_expression "(int)pcVar9 * iStack_150" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) * identifier) ))) ;) comment comment (expression_statement "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4)" identifier = (cast_expression "(code *)(**(code **)(pcVar24 + 0x52c78))(uVar4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x52c78))(uVar4)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c78))" ( (pointer_expression "**(code **)(pcVar24 + 0x52c78)" * (pointer_expression "*(code **)(pcVar24 + 0x52c78)" * (cast_expression "(code **)(pcVar24 + 0x52c78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x52c78)" ( (binary_expression "pcVar24 + 0x52c78" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier ))))) ;) (return_statement "return pcVar9;" return identifier ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00061c88) */\n/* WARNING: Removing unreachable block (ram,0x00061c6c) */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid x11_alloc_subfont(x11font *xfont,int sfid)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  xlfd_decomposed *dec;\n  GC *pp_Var9;\n  int *piVar10;\n  undefined4 *puVar11;\n  int iVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  wchar_t wVar24;\n  GC *pp_Var25;\n  GC *pp_Var26;\n  x11font *xfont_00;\n  int iVar27;\n  int iVar28;\n  ulong *puVar29;\n  ulong *puVar30;\n  x11font *x;\n  undefined4 *in_a3;\n  int *piVar31;\n  GC *pp_Var32;\n  x11font *pxVar33;\n  undefined4 *puVar34;\n  undefined1 *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  int *piVar38;\n  unifont_vtable *puVar39;\n  wchar_t *pwVar40;\n  XFontStruct *pXVar41;\n  int unaff_s6;\n  undefined *puVar42;\n  code *pcVar43;\n  code *pcVar44;\n  int iVar45;\n  wchar_t *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  wchar_t *pwStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  int iStack_b4;\n  GC *pp_Stack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  GC *pp_Stack_a4;\n  ulong *puStack_9c;\n  int iStack_98;\n  ulong uStack_6c;\n  ulong uStack_68;\n  int iStack_64;\n  int iStack_60;\n  char *pcStack_5c;\n  undefined *puStack_58;\n  x11font *pxStack_54;\n  undefined4 uStack_50;\n  XFontStruct *pXStack_4c;\n  ulong ret;\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  pXVar41 = xfont->fonts[0].xfs;\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)\n                    (uVar5,PTR_data_CS_ISO8859_4_sbcs2ucs_194__000b5230 + 0x17d0,0);\n  puVar29 = &ret;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(pXVar41,uVar6);\n  pwStack_f4 = in_stack_fffffea0;\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    pcVar8 = (char *)0x0;\n  }\n  else {\n    pcVar8 = (char *)(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret);\n    dec = xlfd_decompose(pcVar8);\n    pwStack_f4 = in_stack_fffffea0;\n    if (dec == (xlfd_decomposed *)0x0) goto LAB_00061a2c;\n    if ((sfid & 1U) != 0) {\n      dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((sfid & 2U) != 0) {\n      pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      dec->average_width = dec->average_width << 1;\n      dec->add_style_name = pcVar8;\n      dec->setwidth_name = pcVar8;\n    }\n    pcVar8 = xlfd_recompose(dec);\n    (*(code *)PTR_safefree_000b5210)(dec);\n    pwStack_f4 = in_stack_fffffea0;\n  }\n  uVar5 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,pcVar8);\n  puVar42 = PTR_safefree_000b5210;\n  pp_Var25 = &xfont->fonts[sfid + -1].gc;\n  pp_Var25[8] = (GC)uVar5;\n  pp_Var25[9] = (GC)0x1;\n  (*(code *)puVar42)(pcVar8);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  puVar42 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  puStack_58 = puVar3;\n  piVar36 = *(int **)(puVar42 + 0x54650);\n  iStack_64 = *piVar36;\n  puVar30 = puVar29;\n  iStack_60 = sfid;\n  pcStack_5c = pcVar8;\n  pxStack_54 = xfont;\n  uStack_50 = uVar4;\n  pXStack_4c = pXVar41;\n  uVar4 = (**(code **)(puVar42 + 0x543f4))();\n  uVar4 = (**(code **)(puVar42 + 0x53fa0))(uVar4);\n  pp_Var26 = pp_Var25;\n  pp_Var9 = (GC *)(**(code **)(puVar42 + 0x54044))(uVar4);\n  pp_Var32 = pp_Var9;\n  if (pp_Var9 != (GC *)0x0) {\n    uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x53788) + 0x17d0,0);\n    puVar30 = &uStack_6c;\n    iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n    if ((iVar7 != 0) &&\n       (unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0)) {\n      uStack_68 = 0xc;\n      uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0);\n      puVar30 = &uStack_68;\n      iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n      if ((iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)) {\n        *puVar29 = uStack_68;\n        (*pcVar43)(uVar4);\n        if (in_a3 != (undefined4 *)0x0) {\n          *in_a3 = 2;\n        }\n        pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);\n        pp_Var26 = pp_Var9;\n        goto LAB_00061bec;\n      }\n    }\n    pp_Var32 = (GC *)0x0;\n    (**(code **)(puVar42 + 0x546c4))(uVar4);\n    pp_Var26 = pp_Var9;\n  }\nLAB_00061bec:\n  if (iStack_64 == *piVar36) {\n    return;\n  }\n  pcVar43 = *(code **)(puVar42 + 0x542f4);\n  (*pcVar43)();\n  piVar10 = *(int **)(pcVar43 + 0x5445c);\n  pxVar33 = (x11font *)0x8000;\n  iStack_b4 = *piVar10;\n  pp_Stack_b0 = pp_Var32;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar36;\n  pp_Stack_a4 = pp_Var25;\n  puStack_9c = puVar29;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar43 + 0x54200))();\n  uVar4 = (**(code **)(pcVar43 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar43 + 0x53578);\n  while( true ) {\n    x = pxVar33;\n    piVar36 = &iStack_b8;\n    puVar11 = (undefined4 *)(**(code **)(pcVar43 + 0x54470))(uVar4,iVar7 + -0x3680);\n    xfont_00 = (x11font *)(uint)(iStack_b8 < (int)pxVar33);\n    if (xfont_00 != (x11font *)0x0) break;\n    pxVar33 = (x11font *)((int)pxVar33 << 1);\n    (**(code **)(pcVar43 + 0x544e0))(puVar11);\n  }\n  pxVar33 = (x11font *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar43 + 0x53578);\n    iVar45 = 0;\n    iVar18 = *(int *)(pcVar43 + 0x53578);\n    pxVar33 = (x11font *)0x0;\n    iVar22 = *(int *)(pcVar43 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar27 = *(int *)(pcVar43 + 0x5355c);\n    iVar12 = *(int *)(pcVar43 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar28 = *(int *)(pcVar43 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar37 = puVar11;\n    do {\n      puVar13 = (undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37);\n      if (puVar13 == (undefined4 *)0x0) {\n        xfont_00 = (x11font *)*puVar37;\n        piVar36 = (int *)0x0;\n        iStack_150 = iVar27 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        pwStack_f4 = (wchar_t *)0x0;\n        x = xfont_00;\n        (*(code *)pp_Var26)(puVar30);\n        (**(code **)(pcVar43 + 0x53574))(0);\n      }\n      else {\n        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);\n        iVar14 = (iVar14 + 0x40) * 4;\n        if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);\n        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);\n        pcVar8 = (char *)puVar13[2];\n        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);\n        if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);\n        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);\n        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);\n        if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }\n        puVar35 = (undefined1 *)((int)puVar34 + 1);\n        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar43 + 0x53578);\n        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);\n        iStack_158 = puVar13[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);\n        x = (x11font *)0xffffffff;\n        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);\n        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }\n        piVar38 = *(int **)(pcVar43 + 0x53690);\n        pcVar8 = (char *)puVar13[10];\n        iVar14 = *(int *)(pcVar43 + 0x53578);\n        pcVar44 = *(code **)(pcVar43 + 0x54198);\n        *piVar38 = 2;\n        xfont_00 = (x11font *)(int)*pcVar8;\n        iVar14 = (*pcVar44)(iVar14 + -0x3590);\n        if (iVar14 == 0) {\n          *piVar38 = 10;\n        }\n        iVar14 = puVar13[6];\n        pcVar44 = *(code **)(pcVar43 + 0x53574);\n        if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }\n        (*pcVar44)(puVar13);\n      }\n      iVar45 = iVar45 + 1;\n      puVar37 = puVar37 + 1;\n    } while (iVar45 < iStack_b8);\n  }\n  (**(code **)(pcVar43 + 0x544e0))(puVar11);\n  (**(code **)(pcVar43 + 0x53574))();\n  if (iStack_b4 == *piVar10) {\n    return;\n  }\nLAB_0006258c:\n  pcVar43 = *(code **)(pcVar43 + 0x54100);\n  (*pcVar43)();\n  puVar39 = (pxVar33->u).vt;\n  iVar18 = iStack_154 - xfont_00->bold;\n  iVar7 = 1;\n  iVar12 = iStack_158 - xfont_00->wide;\n  if (iStack_158 != 0) {\n    iVar7 = 2;\n  }\n  iVar22 = iVar12 * 2;\n  if (xfont_00->shadowalways == 0) {\n    iVar27 = iVar18 + iVar22;\n    if (*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24) == 0) {\n      x11_alloc_subfont(xfont_00,iVar27);\n    }\n    iVar28 = *(int *)((int)xfont_00 + iVar27 * 0x34 + 0x20);\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar28 != 0) goto LAB_0006265c;\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = 0;\n    }\n    else {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n    }\njoined_r0x00062808:\n    iVar27 = iVar22;\n    if (iVar28 == 0) {\n      x11_alloc_subfont(xfont_00,iVar22);\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n    else {\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n  }\n  if (iVar28 == 0) {\n    return;\n  }\nLAB_0006265c:\n  if (xfont_00->sixteen_bit != 0) {\n    puVar35 = (undefined1 *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar35;\n      do {\n        wVar24 = *pwStack_f4;\n        puVar21 = puVar20 + 2;\n        pwStack_f4 = pwStack_f4 + 1;\n        puVar20[1] = (char)wVar24;\n        *puVar20 = (char)((uint)wVar24 >> 8);\n        puVar20 = puVar21;\n      } while (puVar35 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    x11font_really_draw_text\n              ((x11font_drawfuncs *)\n               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),\n               (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,puVar35,\n               (int)in_stack_fffffea4,iVar18,xfont_00->variable,iVar7 * iStack_150);\n    (**(code **)(pcVar43 + 0x52c78))(puVar35);\n    return;\n  }\n  pcVar8 = (char *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  iVar12 = wc_to_mb(xfont_00->real_charset,0,pwStack_f4,(int)in_stack_fffffea4,pcVar8,\n                    (int)(in_stack_fffffea4 + 1),(char *)(*(int *)(pcVar43 + 0x52c7c) + -0x48f0),\n                    (int *)0x0,(unicode_data *)0x0);\n  x11font_really_draw_text\n            ((x11font_drawfuncs *)(*(int *)(pcVar43 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18),\n             (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,pcVar8,iVar12,\n             iVar18,xfont_00->variable,iVar7 * iStack_150);\n  (**(code **)(pcVar43 + 0x52c78))(pcVar8);\n  return;\n}\n\n" comment comment comment (function_definition "void x11_alloc_subfont(x11font *xfont,int sfid)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  xlfd_decomposed *dec;\n  GC *pp_Var9;\n  int *piVar10;\n  undefined4 *puVar11;\n  int iVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  wchar_t wVar24;\n  GC *pp_Var25;\n  GC *pp_Var26;\n  x11font *xfont_00;\n  int iVar27;\n  int iVar28;\n  ulong *puVar29;\n  ulong *puVar30;\n  x11font *x;\n  undefined4 *in_a3;\n  int *piVar31;\n  GC *pp_Var32;\n  x11font *pxVar33;\n  undefined4 *puVar34;\n  undefined1 *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  int *piVar38;\n  unifont_vtable *puVar39;\n  wchar_t *pwVar40;\n  XFontStruct *pXVar41;\n  int unaff_s6;\n  undefined *puVar42;\n  code *pcVar43;\n  code *pcVar44;\n  int iVar45;\n  wchar_t *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  wchar_t *pwStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  int iStack_b4;\n  GC *pp_Stack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  GC *pp_Stack_a4;\n  ulong *puStack_9c;\n  int iStack_98;\n  ulong uStack_6c;\n  ulong uStack_68;\n  int iStack_64;\n  int iStack_60;\n  char *pcStack_5c;\n  undefined *puStack_58;\n  x11font *pxStack_54;\n  undefined4 uStack_50;\n  XFontStruct *pXStack_4c;\n  ulong ret;\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  pXVar41 = xfont->fonts[0].xfs;\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)\n                    (uVar5,PTR_data_CS_ISO8859_4_sbcs2ucs_194__000b5230 + 0x17d0,0);\n  puVar29 = &ret;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(pXVar41,uVar6);\n  pwStack_f4 = in_stack_fffffea0;\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    pcVar8 = (char *)0x0;\n  }\n  else {\n    pcVar8 = (char *)(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret);\n    dec = xlfd_decompose(pcVar8);\n    pwStack_f4 = in_stack_fffffea0;\n    if (dec == (xlfd_decomposed *)0x0) goto LAB_00061a2c;\n    if ((sfid & 1U) != 0) {\n      dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((sfid & 2U) != 0) {\n      pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      dec->average_width = dec->average_width << 1;\n      dec->add_style_name = pcVar8;\n      dec->setwidth_name = pcVar8;\n    }\n    pcVar8 = xlfd_recompose(dec);\n    (*(code *)PTR_safefree_000b5210)(dec);\n    pwStack_f4 = in_stack_fffffea0;\n  }\n  uVar5 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,pcVar8);\n  puVar42 = PTR_safefree_000b5210;\n  pp_Var25 = &xfont->fonts[sfid + -1].gc;\n  pp_Var25[8] = (GC)uVar5;\n  pp_Var25[9] = (GC)0x1;\n  (*(code *)puVar42)(pcVar8);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  puVar42 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  puStack_58 = puVar3;\n  piVar36 = *(int **)(puVar42 + 0x54650);\n  iStack_64 = *piVar36;\n  puVar30 = puVar29;\n  iStack_60 = sfid;\n  pcStack_5c = pcVar8;\n  pxStack_54 = xfont;\n  uStack_50 = uVar4;\n  pXStack_4c = pXVar41;\n  uVar4 = (**(code **)(puVar42 + 0x543f4))();\n  uVar4 = (**(code **)(puVar42 + 0x53fa0))(uVar4);\n  pp_Var26 = pp_Var25;\n  pp_Var9 = (GC *)(**(code **)(puVar42 + 0x54044))(uVar4);\n  pp_Var32 = pp_Var9;\n  if (pp_Var9 != (GC *)0x0) {\n    uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x53788) + 0x17d0,0);\n    puVar30 = &uStack_6c;\n    iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n    if ((iVar7 != 0) &&\n       (unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0)) {\n      uStack_68 = 0xc;\n      uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0);\n      puVar30 = &uStack_68;\n      iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n      if ((iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)) {\n        *puVar29 = uStack_68;\n        (*pcVar43)(uVar4);\n        if (in_a3 != (undefined4 *)0x0) {\n          *in_a3 = 2;\n        }\n        pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);\n        pp_Var26 = pp_Var9;\n        goto LAB_00061bec;\n      }\n    }\n    pp_Var32 = (GC *)0x0;\n    (**(code **)(puVar42 + 0x546c4))(uVar4);\n    pp_Var26 = pp_Var9;\n  }\nLAB_00061bec:\n  if (iStack_64 == *piVar36) {\n    return;\n  }\n  pcVar43 = *(code **)(puVar42 + 0x542f4);\n  (*pcVar43)();\n  piVar10 = *(int **)(pcVar43 + 0x5445c);\n  pxVar33 = (x11font *)0x8000;\n  iStack_b4 = *piVar10;\n  pp_Stack_b0 = pp_Var32;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar36;\n  pp_Stack_a4 = pp_Var25;\n  puStack_9c = puVar29;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar43 + 0x54200))();\n  uVar4 = (**(code **)(pcVar43 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar43 + 0x53578);\n  while( true ) {\n    x = pxVar33;\n    piVar36 = &iStack_b8;\n    puVar11 = (undefined4 *)(**(code **)(pcVar43 + 0x54470))(uVar4,iVar7 + -0x3680);\n    xfont_00 = (x11font *)(uint)(iStack_b8 < (int)pxVar33);\n    if (xfont_00 != (x11font *)0x0) break;\n    pxVar33 = (x11font *)((int)pxVar33 << 1);\n    (**(code **)(pcVar43 + 0x544e0))(puVar11);\n  }\n  pxVar33 = (x11font *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar43 + 0x53578);\n    iVar45 = 0;\n    iVar18 = *(int *)(pcVar43 + 0x53578);\n    pxVar33 = (x11font *)0x0;\n    iVar22 = *(int *)(pcVar43 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar27 = *(int *)(pcVar43 + 0x5355c);\n    iVar12 = *(int *)(pcVar43 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar28 = *(int *)(pcVar43 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar37 = puVar11;\n    do {\n      puVar13 = (undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37);\n      if (puVar13 == (undefined4 *)0x0) {\n        xfont_00 = (x11font *)*puVar37;\n        piVar36 = (int *)0x0;\n        iStack_150 = iVar27 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        pwStack_f4 = (wchar_t *)0x0;\n        x = xfont_00;\n        (*(code *)pp_Var26)(puVar30);\n        (**(code **)(pcVar43 + 0x53574))(0);\n      }\n      else {\n        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);\n        iVar14 = (iVar14 + 0x40) * 4;\n        if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);\n        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);\n        pcVar8 = (char *)puVar13[2];\n        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);\n        if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);\n        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);\n        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);\n        if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }\n        puVar35 = (undefined1 *)((int)puVar34 + 1);\n        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar43 + 0x53578);\n        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);\n        iStack_158 = puVar13[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);\n        x = (x11font *)0xffffffff;\n        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);\n        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }\n        piVar38 = *(int **)(pcVar43 + 0x53690);\n        pcVar8 = (char *)puVar13[10];\n        iVar14 = *(int *)(pcVar43 + 0x53578);\n        pcVar44 = *(code **)(pcVar43 + 0x54198);\n        *piVar38 = 2;\n        xfont_00 = (x11font *)(int)*pcVar8;\n        iVar14 = (*pcVar44)(iVar14 + -0x3590);\n        if (iVar14 == 0) {\n          *piVar38 = 10;\n        }\n        iVar14 = puVar13[6];\n        pcVar44 = *(code **)(pcVar43 + 0x53574);\n        if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }\n        (*pcVar44)(puVar13);\n      }\n      iVar45 = iVar45 + 1;\n      puVar37 = puVar37 + 1;\n    } while (iVar45 < iStack_b8);\n  }\n  (**(code **)(pcVar43 + 0x544e0))(puVar11);\n  (**(code **)(pcVar43 + 0x53574))();\n  if (iStack_b4 == *piVar10) {\n    return;\n  }\nLAB_0006258c:\n  pcVar43 = *(code **)(pcVar43 + 0x54100);\n  (*pcVar43)();\n  puVar39 = (pxVar33->u).vt;\n  iVar18 = iStack_154 - xfont_00->bold;\n  iVar7 = 1;\n  iVar12 = iStack_158 - xfont_00->wide;\n  if (iStack_158 != 0) {\n    iVar7 = 2;\n  }\n  iVar22 = iVar12 * 2;\n  if (xfont_00->shadowalways == 0) {\n    iVar27 = iVar18 + iVar22;\n    if (*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24) == 0) {\n      x11_alloc_subfont(xfont_00,iVar27);\n    }\n    iVar28 = *(int *)((int)xfont_00 + iVar27 * 0x34 + 0x20);\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar28 != 0) goto LAB_0006265c;\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = 0;\n    }\n    else {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n    }\njoined_r0x00062808:\n    iVar27 = iVar22;\n    if (iVar28 == 0) {\n      x11_alloc_subfont(xfont_00,iVar22);\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n    else {\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n  }\n  if (iVar28 == 0) {\n    return;\n  }\nLAB_0006265c:\n  if (xfont_00->sixteen_bit != 0) {\n    puVar35 = (undefined1 *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar35;\n      do {\n        wVar24 = *pwStack_f4;\n        puVar21 = puVar20 + 2;\n        pwStack_f4 = pwStack_f4 + 1;\n        puVar20[1] = (char)wVar24;\n        *puVar20 = (char)((uint)wVar24 >> 8);\n        puVar20 = puVar21;\n      } while (puVar35 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    x11font_really_draw_text\n              ((x11font_drawfuncs *)\n               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),\n               (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,puVar35,\n               (int)in_stack_fffffea4,iVar18,xfont_00->variable,iVar7 * iStack_150);\n    (**(code **)(pcVar43 + 0x52c78))(puVar35);\n    return;\n  }\n  pcVar8 = (char *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  iVar12 = wc_to_mb(xfont_00->real_charset,0,pwStack_f4,(int)in_stack_fffffea4,pcVar8,\n                    (int)(in_stack_fffffea4 + 1),(char *)(*(int *)(pcVar43 + 0x52c7c) + -0x48f0),\n                    (int *)0x0,(unicode_data *)0x0);\n  x11font_really_draw_text\n            ((x11font_drawfuncs *)(*(int *)(pcVar43 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18),\n             (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,pcVar8,iVar12,\n             iVar18,xfont_00->variable,iVar7 * iStack_150);\n  (**(code **)(pcVar43 + 0x52c78))(pcVar8);\n  return;\n}" primitive_type (function_declarator "x11_alloc_subfont(x11font *xfont,int sfid)" identifier (parameter_list "(x11font *xfont,int sfid)" ( (parameter_declaration "x11font *xfont" type_identifier (pointer_declarator "*xfont" * identifier)) , (parameter_declaration "int sfid" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  xlfd_decomposed *dec;\n  GC *pp_Var9;\n  int *piVar10;\n  undefined4 *puVar11;\n  int iVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  wchar_t wVar24;\n  GC *pp_Var25;\n  GC *pp_Var26;\n  x11font *xfont_00;\n  int iVar27;\n  int iVar28;\n  ulong *puVar29;\n  ulong *puVar30;\n  x11font *x;\n  undefined4 *in_a3;\n  int *piVar31;\n  GC *pp_Var32;\n  x11font *pxVar33;\n  undefined4 *puVar34;\n  undefined1 *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  int *piVar38;\n  unifont_vtable *puVar39;\n  wchar_t *pwVar40;\n  XFontStruct *pXVar41;\n  int unaff_s6;\n  undefined *puVar42;\n  code *pcVar43;\n  code *pcVar44;\n  int iVar45;\n  wchar_t *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  wchar_t *pwStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  int iStack_b4;\n  GC *pp_Stack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  GC *pp_Stack_a4;\n  ulong *puStack_9c;\n  int iStack_98;\n  ulong uStack_6c;\n  ulong uStack_68;\n  int iStack_64;\n  int iStack_60;\n  char *pcStack_5c;\n  undefined *puStack_58;\n  x11font *pxStack_54;\n  undefined4 uStack_50;\n  XFontStruct *pXStack_4c;\n  ulong ret;\n  int local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  pXVar41 = xfont->fonts[0].xfs;\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)\n                    (uVar5,PTR_data_CS_ISO8859_4_sbcs2ucs_194__000b5230 + 0x17d0,0);\n  puVar29 = &ret;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(pXVar41,uVar6);\n  pwStack_f4 = in_stack_fffffea0;\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    pcVar8 = (char *)0x0;\n  }\n  else {\n    pcVar8 = (char *)(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret);\n    dec = xlfd_decompose(pcVar8);\n    pwStack_f4 = in_stack_fffffea0;\n    if (dec == (xlfd_decomposed *)0x0) goto LAB_00061a2c;\n    if ((sfid & 1U) != 0) {\n      dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((sfid & 2U) != 0) {\n      pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      dec->average_width = dec->average_width << 1;\n      dec->add_style_name = pcVar8;\n      dec->setwidth_name = pcVar8;\n    }\n    pcVar8 = xlfd_recompose(dec);\n    (*(code *)PTR_safefree_000b5210)(dec);\n    pwStack_f4 = in_stack_fffffea0;\n  }\n  uVar5 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,pcVar8);\n  puVar42 = PTR_safefree_000b5210;\n  pp_Var25 = &xfont->fonts[sfid + -1].gc;\n  pp_Var25[8] = (GC)uVar5;\n  pp_Var25[9] = (GC)0x1;\n  (*(code *)puVar42)(pcVar8);\n  if (local_24 == *(int *)puVar3) {\n    return;\n  }\n  puVar42 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  puStack_58 = puVar3;\n  piVar36 = *(int **)(puVar42 + 0x54650);\n  iStack_64 = *piVar36;\n  puVar30 = puVar29;\n  iStack_60 = sfid;\n  pcStack_5c = pcVar8;\n  pxStack_54 = xfont;\n  uStack_50 = uVar4;\n  pXStack_4c = pXVar41;\n  uVar4 = (**(code **)(puVar42 + 0x543f4))();\n  uVar4 = (**(code **)(puVar42 + 0x53fa0))(uVar4);\n  pp_Var26 = pp_Var25;\n  pp_Var9 = (GC *)(**(code **)(puVar42 + 0x54044))(uVar4);\n  pp_Var32 = pp_Var9;\n  if (pp_Var9 != (GC *)0x0) {\n    uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x53788) + 0x17d0,0);\n    puVar30 = &uStack_6c;\n    iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n    if ((iVar7 != 0) &&\n       (unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0)) {\n      uStack_68 = 0xc;\n      uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0);\n      puVar30 = &uStack_68;\n      iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n      if ((iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)) {\n        *puVar29 = uStack_68;\n        (*pcVar43)(uVar4);\n        if (in_a3 != (undefined4 *)0x0) {\n          *in_a3 = 2;\n        }\n        pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);\n        pp_Var26 = pp_Var9;\n        goto LAB_00061bec;\n      }\n    }\n    pp_Var32 = (GC *)0x0;\n    (**(code **)(puVar42 + 0x546c4))(uVar4);\n    pp_Var26 = pp_Var9;\n  }\nLAB_00061bec:\n  if (iStack_64 == *piVar36) {\n    return;\n  }\n  pcVar43 = *(code **)(puVar42 + 0x542f4);\n  (*pcVar43)();\n  piVar10 = *(int **)(pcVar43 + 0x5445c);\n  pxVar33 = (x11font *)0x8000;\n  iStack_b4 = *piVar10;\n  pp_Stack_b0 = pp_Var32;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar36;\n  pp_Stack_a4 = pp_Var25;\n  puStack_9c = puVar29;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar43 + 0x54200))();\n  uVar4 = (**(code **)(pcVar43 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar43 + 0x53578);\n  while( true ) {\n    x = pxVar33;\n    piVar36 = &iStack_b8;\n    puVar11 = (undefined4 *)(**(code **)(pcVar43 + 0x54470))(uVar4,iVar7 + -0x3680);\n    xfont_00 = (x11font *)(uint)(iStack_b8 < (int)pxVar33);\n    if (xfont_00 != (x11font *)0x0) break;\n    pxVar33 = (x11font *)((int)pxVar33 << 1);\n    (**(code **)(pcVar43 + 0x544e0))(puVar11);\n  }\n  pxVar33 = (x11font *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar43 + 0x53578);\n    iVar45 = 0;\n    iVar18 = *(int *)(pcVar43 + 0x53578);\n    pxVar33 = (x11font *)0x0;\n    iVar22 = *(int *)(pcVar43 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar27 = *(int *)(pcVar43 + 0x5355c);\n    iVar12 = *(int *)(pcVar43 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar28 = *(int *)(pcVar43 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar37 = puVar11;\n    do {\n      puVar13 = (undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37);\n      if (puVar13 == (undefined4 *)0x0) {\n        xfont_00 = (x11font *)*puVar37;\n        piVar36 = (int *)0x0;\n        iStack_150 = iVar27 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        pwStack_f4 = (wchar_t *)0x0;\n        x = xfont_00;\n        (*(code *)pp_Var26)(puVar30);\n        (**(code **)(pcVar43 + 0x53574))(0);\n      }\n      else {\n        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);\n        iVar14 = (iVar14 + 0x40) * 4;\n        if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);\n        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);\n        pcVar8 = (char *)puVar13[2];\n        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);\n        if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);\n        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);\n        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);\n        if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }\n        puVar35 = (undefined1 *)((int)puVar34 + 1);\n        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar43 + 0x53578);\n        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);\n        iStack_158 = puVar13[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);\n        x = (x11font *)0xffffffff;\n        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);\n        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }\n        piVar38 = *(int **)(pcVar43 + 0x53690);\n        pcVar8 = (char *)puVar13[10];\n        iVar14 = *(int *)(pcVar43 + 0x53578);\n        pcVar44 = *(code **)(pcVar43 + 0x54198);\n        *piVar38 = 2;\n        xfont_00 = (x11font *)(int)*pcVar8;\n        iVar14 = (*pcVar44)(iVar14 + -0x3590);\n        if (iVar14 == 0) {\n          *piVar38 = 10;\n        }\n        iVar14 = puVar13[6];\n        pcVar44 = *(code **)(pcVar43 + 0x53574);\n        if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }\n        (*pcVar44)(puVar13);\n      }\n      iVar45 = iVar45 + 1;\n      puVar37 = puVar37 + 1;\n    } while (iVar45 < iStack_b8);\n  }\n  (**(code **)(pcVar43 + 0x544e0))(puVar11);\n  (**(code **)(pcVar43 + 0x53574))();\n  if (iStack_b4 == *piVar10) {\n    return;\n  }\nLAB_0006258c:\n  pcVar43 = *(code **)(pcVar43 + 0x54100);\n  (*pcVar43)();\n  puVar39 = (pxVar33->u).vt;\n  iVar18 = iStack_154 - xfont_00->bold;\n  iVar7 = 1;\n  iVar12 = iStack_158 - xfont_00->wide;\n  if (iStack_158 != 0) {\n    iVar7 = 2;\n  }\n  iVar22 = iVar12 * 2;\n  if (xfont_00->shadowalways == 0) {\n    iVar27 = iVar18 + iVar22;\n    if (*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24) == 0) {\n      x11_alloc_subfont(xfont_00,iVar27);\n    }\n    iVar28 = *(int *)((int)xfont_00 + iVar27 * 0x34 + 0x20);\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar28 != 0) goto LAB_0006265c;\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = 0;\n    }\n    else {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n    }\njoined_r0x00062808:\n    iVar27 = iVar22;\n    if (iVar28 == 0) {\n      x11_alloc_subfont(xfont_00,iVar22);\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n    else {\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n  }\n  if (iVar28 == 0) {\n    return;\n  }\nLAB_0006265c:\n  if (xfont_00->sixteen_bit != 0) {\n    puVar35 = (undefined1 *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar35;\n      do {\n        wVar24 = *pwStack_f4;\n        puVar21 = puVar20 + 2;\n        pwStack_f4 = pwStack_f4 + 1;\n        puVar20[1] = (char)wVar24;\n        *puVar20 = (char)((uint)wVar24 >> 8);\n        puVar20 = puVar21;\n      } while (puVar35 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    x11font_really_draw_text\n              ((x11font_drawfuncs *)\n               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),\n               (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,puVar35,\n               (int)in_stack_fffffea4,iVar18,xfont_00->variable,iVar7 * iStack_150);\n    (**(code **)(pcVar43 + 0x52c78))(puVar35);\n    return;\n  }\n  pcVar8 = (char *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  iVar12 = wc_to_mb(xfont_00->real_charset,0,pwStack_f4,(int)in_stack_fffffea4,pcVar8,\n                    (int)(in_stack_fffffea4 + 1),(char *)(*(int *)(pcVar43 + 0x52c7c) + -0x48f0),\n                    (int *)0x0,(unicode_data *)0x0);\n  x11font_really_draw_text\n            ((x11font_drawfuncs *)(*(int *)(pcVar43 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18),\n             (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,pcVar8,iVar12,\n             iVar18,xfont_00->variable,iVar7 * iStack_150);\n  (**(code **)(pcVar43 + 0x52c78))(pcVar8);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "xlfd_decomposed *dec;" type_identifier (pointer_declarator "*dec" * identifier) ;) (declaration "GC *pp_Var9;" type_identifier (pointer_declarator "*pp_Var9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "wchar_t wVar24;" type_identifier identifier ;) (declaration "GC *pp_Var25;" type_identifier (pointer_declarator "*pp_Var25" * identifier) ;) (declaration "GC *pp_Var26;" type_identifier (pointer_declarator "*pp_Var26" * identifier) ;) (declaration "x11font *xfont_00;" type_identifier (pointer_declarator "*xfont_00" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "ulong *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "ulong *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "x11font *x;" type_identifier (pointer_declarator "*x" * identifier) ;) (declaration "undefined4 *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "int *piVar31;" primitive_type (pointer_declarator "*piVar31" * identifier) ;) (declaration "GC *pp_Var32;" type_identifier (pointer_declarator "*pp_Var32" * identifier) ;) (declaration "x11font *pxVar33;" type_identifier (pointer_declarator "*pxVar33" * identifier) ;) (declaration "undefined4 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "undefined1 *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "int *piVar36;" primitive_type (pointer_declarator "*piVar36" * identifier) ;) (declaration "undefined4 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "int *piVar38;" primitive_type (pointer_declarator "*piVar38" * identifier) ;) (declaration "unifont_vtable *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "wchar_t *pwVar40;" type_identifier (pointer_declarator "*pwVar40" * identifier) ;) (declaration "XFontStruct *pXVar41;" type_identifier (pointer_declarator "*pXVar41" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "undefined *puVar42;" type_identifier (pointer_declarator "*puVar42" * identifier) ;) (declaration "code *pcVar43;" type_identifier (pointer_declarator "*pcVar43" * identifier) ;) (declaration "code *pcVar44;" type_identifier (pointer_declarator "*pcVar44" * identifier) ;) (declaration "int iVar45;" primitive_type identifier ;) (declaration "wchar_t *in_stack_fffffea0;" type_identifier (pointer_declarator "*in_stack_fffffea0" * identifier) ;) (declaration "undefined1 *in_stack_fffffea4;" type_identifier (pointer_declarator "*in_stack_fffffea4" * identifier) ;) (declaration "int iStack_158;" primitive_type identifier ;) (declaration "int iStack_154;" primitive_type identifier ;) (declaration "int iStack_150;" primitive_type identifier ;) (declaration "wchar_t *pwStack_f4;" type_identifier (pointer_declarator "*pwStack_f4" * identifier) ;) (declaration "int iStack_ec;" primitive_type identifier ;) (declaration "int iStack_b8;" primitive_type identifier ;) (declaration "int iStack_b4;" primitive_type identifier ;) (declaration "GC *pp_Stack_b0;" type_identifier (pointer_declarator "*pp_Stack_b0" * identifier) ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "int *piStack_a8;" primitive_type (pointer_declarator "*piStack_a8" * identifier) ;) (declaration "GC *pp_Stack_a4;" type_identifier (pointer_declarator "*pp_Stack_a4" * identifier) ;) (declaration "ulong *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "ulong uStack_6c;" type_identifier identifier ;) (declaration "ulong uStack_68;" type_identifier identifier ;) (declaration "int iStack_64;" primitive_type identifier ;) (declaration "int iStack_60;" primitive_type identifier ;) (declaration "char *pcStack_5c;" primitive_type (pointer_declarator "*pcStack_5c" * identifier) ;) (declaration "undefined *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (declaration "x11font *pxStack_54;" type_identifier (pointer_declarator "*pxStack_54" * identifier) ;) (declaration "undefined4 uStack_50;" type_identifier identifier ;) (declaration "XFontStruct *pXStack_4c;" type_identifier (pointer_declarator "*pXStack_4c" * identifier) ;) (declaration "ulong ret;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000b60f8;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000b60f8" identifier = identifier) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000b60f8;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_000b60f8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b60f8" * (cast_expression "(int *)PTR___stack_chk_guard_000b60f8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();" (assignment_expression "uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)()" identifier = (call_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)()" (parenthesized_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)" ( (pointer_expression "*(code *)PTR_gdk_display_get_default_000b5e9c" * (cast_expression "(code *)PTR_gdk_display_get_default_000b5e9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);" (assignment_expression "uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4)" identifier = (call_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4)" (parenthesized_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)" ( (pointer_expression "*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" * (cast_expression "(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "pXVar41 = xfont->fonts[0].xfs;" (assignment_expression "pXVar41 = xfont->fonts[0].xfs" identifier = (field_expression "xfont->fonts[0].xfs" (subscript_expression "xfont->fonts[0]" (field_expression "xfont->fonts" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();" (assignment_expression "uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)()" identifier = (call_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)()" (parenthesized_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)" ( (pointer_expression "*(code *)PTR_gdk_display_get_default_000b5e9c" * (cast_expression "(code *)PTR_gdk_display_get_default_000b5e9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);" (assignment_expression "uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5)" identifier = (call_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5)" (parenthesized_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)" ( (pointer_expression "*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" * (cast_expression "(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "uVar6 = (*(code *)PTR_XInternAtom_000b5f60)\n                    (uVar5,PTR_data_CS_ISO8859_4_sbcs2ucs_194__000b5230 + 0x17d0,0);" (assignment_expression "uVar6 = (*(code *)PTR_XInternAtom_000b5f60)\n                    (uVar5,PTR_data_CS_ISO8859_4_sbcs2ucs_194__000b5230 + 0x17d0,0)" identifier = (call_expression "(*(code *)PTR_XInternAtom_000b5f60)\n                    (uVar5,PTR_data_CS_ISO8859_4_sbcs2ucs_194__000b5230 + 0x17d0,0)" (parenthesized_expression "(*(code *)PTR_XInternAtom_000b5f60)" ( (pointer_expression "*(code *)PTR_XInternAtom_000b5f60" * (cast_expression "(code *)PTR_XInternAtom_000b5f60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,PTR_data_CS_ISO8859_4_sbcs2ucs_194__000b5230 + 0x17d0,0)" ( identifier , (binary_expression "PTR_data_CS_ISO8859_4_sbcs2ucs_194__000b5230 + 0x17d0" identifier + number_literal) , number_literal )))) ;) (expression_statement "puVar29 = &ret;" (assignment_expression "puVar29 = &ret" identifier = (pointer_expression "&ret" & identifier)) ;) (expression_statement "iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(pXVar41,uVar6);" (assignment_expression "iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(pXVar41,uVar6)" identifier = (call_expression "(*(code *)PTR_XGetFontProperty_000b61b8)(pXVar41,uVar6)" (parenthesized_expression "(*(code *)PTR_XGetFontProperty_000b61b8)" ( (pointer_expression "*(code *)PTR_XGetFontProperty_000b61b8" * (cast_expression "(code *)PTR_XGetFontProperty_000b61b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pXVar41,uVar6)" ( identifier , identifier )))) ;) (expression_statement "pwStack_f4 = in_stack_fffffea0;" (assignment_expression "pwStack_f4 = in_stack_fffffea0" identifier = identifier) ;) (if_statement "if (iVar7 == 0) {\nLAB_00061a2c:\n    pcVar8 = (char *)0x0;\n  }\n  else {\n    pcVar8 = (char *)(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret);\n    dec = xlfd_decompose(pcVar8);\n    pwStack_f4 = in_stack_fffffea0;\n    if (dec == (xlfd_decomposed *)0x0) goto LAB_00061a2c;\n    if ((sfid & 1U) != 0) {\n      dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((sfid & 2U) != 0) {\n      pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      dec->average_width = dec->average_width << 1;\n      dec->add_style_name = pcVar8;\n      dec->setwidth_name = pcVar8;\n    }\n    pcVar8 = xlfd_recompose(dec);\n    (*(code *)PTR_safefree_000b5210)(dec);\n    pwStack_f4 = in_stack_fffffea0;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00061a2c:\n    pcVar8 = (char *)0x0;\n  }" { (labeled_statement "LAB_00061a2c:\n    pcVar8 = (char *)0x0;" statement_identifier : (expression_statement "pcVar8 = (char *)0x0;" (assignment_expression "pcVar8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n    pcVar8 = (char *)(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret);\n    dec = xlfd_decompose(pcVar8);\n    pwStack_f4 = in_stack_fffffea0;\n    if (dec == (xlfd_decomposed *)0x0) goto LAB_00061a2c;\n    if ((sfid & 1U) != 0) {\n      dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((sfid & 2U) != 0) {\n      pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      dec->average_width = dec->average_width << 1;\n      dec->add_style_name = pcVar8;\n      dec->setwidth_name = pcVar8;\n    }\n    pcVar8 = xlfd_recompose(dec);\n    (*(code *)PTR_safefree_000b5210)(dec);\n    pwStack_f4 = in_stack_fffffea0;\n  }" else (compound_statement "{\n    pcVar8 = (char *)(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret);\n    dec = xlfd_decompose(pcVar8);\n    pwStack_f4 = in_stack_fffffea0;\n    if (dec == (xlfd_decomposed *)0x0) goto LAB_00061a2c;\n    if ((sfid & 1U) != 0) {\n      dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((sfid & 2U) != 0) {\n      pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      dec->average_width = dec->average_width << 1;\n      dec->add_style_name = pcVar8;\n      dec->setwidth_name = pcVar8;\n    }\n    pcVar8 = xlfd_recompose(dec);\n    (*(code *)PTR_safefree_000b5210)(dec);\n    pwStack_f4 = in_stack_fffffea0;\n  }" { (expression_statement "pcVar8 = (char *)(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret);" (assignment_expression "pcVar8 = (char *)(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret)" identifier = (cast_expression "(char *)(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,ret)" (parenthesized_expression "(*(code *)PTR_XGetAtomName_000b5a50)" ( (pointer_expression "*(code *)PTR_XGetAtomName_000b5a50" * (cast_expression "(code *)PTR_XGetAtomName_000b5a50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,ret)" ( identifier , identifier ))))) ;) (expression_statement "dec = xlfd_decompose(pcVar8);" (assignment_expression "dec = xlfd_decompose(pcVar8)" identifier = (call_expression "xlfd_decompose(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "pwStack_f4 = in_stack_fffffea0;" (assignment_expression "pwStack_f4 = in_stack_fffffea0" identifier = identifier) ;) (if_statement "if (dec == (xlfd_decomposed *)0x0) goto LAB_00061a2c;" if (parenthesized_expression "(dec == (xlfd_decomposed *)0x0)" ( (binary_expression "dec == (xlfd_decomposed *)0x0" identifier == (cast_expression "(xlfd_decomposed *)0x0" ( (type_descriptor "xlfd_decomposed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00061a2c;" goto statement_identifier ;)) (if_statement "if ((sfid & 1U) != 0) {\n      dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }" if (parenthesized_expression "((sfid & 1U) != 0)" ( (binary_expression "(sfid & 1U) != 0" (parenthesized_expression "(sfid & 1U)" ( (binary_expression "sfid & 1U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }" { (expression_statement "dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;" (assignment_expression "dec->weight_name = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c" (field_expression "dec->weight_name" identifier -> field_identifier) = (binary_expression "PTR_s_XXXXXXXXXX___________000b5214 + -0x503c" identifier + number_literal)) ;) })) (if_statement "if ((sfid & 2U) != 0) {\n      pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      dec->average_width = dec->average_width << 1;\n      dec->add_style_name = pcVar8;\n      dec->setwidth_name = pcVar8;\n    }" if (parenthesized_expression "((sfid & 2U) != 0)" ( (binary_expression "(sfid & 2U) != 0" (parenthesized_expression "(sfid & 2U)" ( (binary_expression "sfid & 2U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      dec->average_width = dec->average_width << 1;\n      dec->add_style_name = pcVar8;\n      dec->setwidth_name = pcVar8;\n    }" { (expression_statement "pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;" (assignment_expression "pcVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680" identifier = (binary_expression "PTR_s_XXXXXXXXXX___________000b5214 + -0x3680" identifier + number_literal)) ;) (expression_statement "dec->average_width = dec->average_width << 1;" (assignment_expression "dec->average_width = dec->average_width << 1" (field_expression "dec->average_width" identifier -> field_identifier) = (binary_expression "dec->average_width << 1" (field_expression "dec->average_width" identifier -> field_identifier) << number_literal)) ;) (expression_statement "dec->add_style_name = pcVar8;" (assignment_expression "dec->add_style_name = pcVar8" (field_expression "dec->add_style_name" identifier -> field_identifier) = identifier) ;) (expression_statement "dec->setwidth_name = pcVar8;" (assignment_expression "dec->setwidth_name = pcVar8" (field_expression "dec->setwidth_name" identifier -> field_identifier) = identifier) ;) })) (expression_statement "pcVar8 = xlfd_recompose(dec);" (assignment_expression "pcVar8 = xlfd_recompose(dec)" identifier = (call_expression "xlfd_recompose(dec)" identifier (argument_list "(dec)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_safefree_000b5210)(dec);" (call_expression "(*(code *)PTR_safefree_000b5210)(dec)" (parenthesized_expression "(*(code *)PTR_safefree_000b5210)" ( (pointer_expression "*(code *)PTR_safefree_000b5210" * (cast_expression "(code *)PTR_safefree_000b5210" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dec)" ( identifier ))) ;) (expression_statement "pwStack_f4 = in_stack_fffffea0;" (assignment_expression "pwStack_f4 = in_stack_fffffea0" identifier = identifier) ;) }))) (expression_statement "uVar5 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,pcVar8);" (assignment_expression "uVar5 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,pcVar8)" identifier = (call_expression "(*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,pcVar8)" (parenthesized_expression "(*(code *)PTR_XLoadQueryFont_000b5aec)" ( (pointer_expression "*(code *)PTR_XLoadQueryFont_000b5aec" * (cast_expression "(code *)PTR_XLoadQueryFont_000b5aec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4,pcVar8)" ( identifier , identifier )))) ;) (expression_statement "puVar42 = PTR_safefree_000b5210;" (assignment_expression "puVar42 = PTR_safefree_000b5210" identifier = identifier) ;) (expression_statement "pp_Var25 = &xfont->fonts[sfid + -1].gc;" (assignment_expression "pp_Var25 = &xfont->fonts[sfid + -1].gc" identifier = (pointer_expression "&xfont->fonts[sfid + -1].gc" & (field_expression "xfont->fonts[sfid + -1].gc" (subscript_expression "xfont->fonts[sfid + -1]" (field_expression "xfont->fonts" identifier -> field_identifier) [ (binary_expression "sfid + -1" identifier + number_literal) ]) . field_identifier))) ;) (expression_statement "pp_Var25[8] = (GC)uVar5;" (assignment_expression "pp_Var25[8] = (GC)uVar5" (subscript_expression "pp_Var25[8]" identifier [ number_literal ]) = (cast_expression "(GC)uVar5" ( (type_descriptor "GC" type_identifier) ) identifier)) ;) (expression_statement "pp_Var25[9] = (GC)0x1;" (assignment_expression "pp_Var25[9] = (GC)0x1" (subscript_expression "pp_Var25[9]" identifier [ number_literal ]) = (cast_expression "(GC)0x1" ( (type_descriptor "GC" type_identifier) ) number_literal)) ;) (expression_statement "(*(code *)puVar42)(pcVar8);" (call_expression "(*(code *)puVar42)(pcVar8)" (parenthesized_expression "(*(code *)puVar42)" ( (pointer_expression "*(code *)puVar42" * (cast_expression "(code *)puVar42" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar8)" ( identifier ))) ;) (if_statement "if (local_24 == *(int *)puVar3) {\n    return;\n  }" if (parenthesized_expression "(local_24 == *(int *)puVar3)" ( (binary_expression "local_24 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar42 = PTR___stack_chk_fail_000b5d9c;" (assignment_expression "puVar42 = PTR___stack_chk_fail_000b5d9c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b5d9c)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b5d9c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b5d9c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b5d9c" * (cast_expression "(code *)PTR___stack_chk_fail_000b5d9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_58 = puVar3;" (assignment_expression "puStack_58 = puVar3" identifier = identifier) ;) (expression_statement "piVar36 = *(int **)(puVar42 + 0x54650);" (assignment_expression "piVar36 = *(int **)(puVar42 + 0x54650)" identifier = (pointer_expression "*(int **)(puVar42 + 0x54650)" * (cast_expression "(int **)(puVar42 + 0x54650)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x54650)" ( (binary_expression "puVar42 + 0x54650" identifier + number_literal) ))))) ;) (expression_statement "iStack_64 = *piVar36;" (assignment_expression "iStack_64 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) (expression_statement "puVar30 = puVar29;" (assignment_expression "puVar30 = puVar29" identifier = identifier) ;) (expression_statement "iStack_60 = sfid;" (assignment_expression "iStack_60 = sfid" identifier = identifier) ;) (expression_statement "pcStack_5c = pcVar8;" (assignment_expression "pcStack_5c = pcVar8" identifier = identifier) ;) (expression_statement "pxStack_54 = xfont;" (assignment_expression "pxStack_54 = xfont" identifier = identifier) ;) (expression_statement "uStack_50 = uVar4;" (assignment_expression "uStack_50 = uVar4" identifier = identifier) ;) (expression_statement "pXStack_4c = pXVar41;" (assignment_expression "pXStack_4c = pXVar41" identifier = identifier) ;) (expression_statement "uVar4 = (**(code **)(puVar42 + 0x543f4))();" (assignment_expression "uVar4 = (**(code **)(puVar42 + 0x543f4))()" identifier = (call_expression "(**(code **)(puVar42 + 0x543f4))()" (parenthesized_expression "(**(code **)(puVar42 + 0x543f4))" ( (pointer_expression "**(code **)(puVar42 + 0x543f4)" * (pointer_expression "*(code **)(puVar42 + 0x543f4)" * (cast_expression "(code **)(puVar42 + 0x543f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x543f4)" ( (binary_expression "puVar42 + 0x543f4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = (**(code **)(puVar42 + 0x53fa0))(uVar4);" (assignment_expression "uVar4 = (**(code **)(puVar42 + 0x53fa0))(uVar4)" identifier = (call_expression "(**(code **)(puVar42 + 0x53fa0))(uVar4)" (parenthesized_expression "(**(code **)(puVar42 + 0x53fa0))" ( (pointer_expression "**(code **)(puVar42 + 0x53fa0)" * (pointer_expression "*(code **)(puVar42 + 0x53fa0)" * (cast_expression "(code **)(puVar42 + 0x53fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x53fa0)" ( (binary_expression "puVar42 + 0x53fa0" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "pp_Var26 = pp_Var25;" (assignment_expression "pp_Var26 = pp_Var25" identifier = identifier) ;) (expression_statement "pp_Var9 = (GC *)(**(code **)(puVar42 + 0x54044))(uVar4);" (assignment_expression "pp_Var9 = (GC *)(**(code **)(puVar42 + 0x54044))(uVar4)" identifier = (cast_expression "(GC *)(**(code **)(puVar42 + 0x54044))(uVar4)" ( (type_descriptor "GC *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar42 + 0x54044))(uVar4)" (parenthesized_expression "(**(code **)(puVar42 + 0x54044))" ( (pointer_expression "**(code **)(puVar42 + 0x54044)" * (pointer_expression "*(code **)(puVar42 + 0x54044)" * (cast_expression "(code **)(puVar42 + 0x54044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x54044)" ( (binary_expression "puVar42 + 0x54044" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier ))))) ;) (expression_statement "pp_Var32 = pp_Var9;" (assignment_expression "pp_Var32 = pp_Var9" identifier = identifier) ;) (if_statement "if (pp_Var9 != (GC *)0x0) {\n    uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x53788) + 0x17d0,0);\n    puVar30 = &uStack_6c;\n    iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n    if ((iVar7 != 0) &&\n       (unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0)) {\n      uStack_68 = 0xc;\n      uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0);\n      puVar30 = &uStack_68;\n      iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n      if ((iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)) {\n        *puVar29 = uStack_68;\n        (*pcVar43)(uVar4);\n        if (in_a3 != (undefined4 *)0x0) {\n          *in_a3 = 2;\n        }\n        pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);\n        pp_Var26 = pp_Var9;\n        goto LAB_00061bec;\n      }\n    }\n    pp_Var32 = (GC *)0x0;\n    (**(code **)(puVar42 + 0x546c4))(uVar4);\n    pp_Var26 = pp_Var9;\n  }" if (parenthesized_expression "(pp_Var9 != (GC *)0x0)" ( (binary_expression "pp_Var9 != (GC *)0x0" identifier != (cast_expression "(GC *)0x0" ( (type_descriptor "GC *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x53788) + 0x17d0,0);\n    puVar30 = &uStack_6c;\n    iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n    if ((iVar7 != 0) &&\n       (unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0)) {\n      uStack_68 = 0xc;\n      uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0);\n      puVar30 = &uStack_68;\n      iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n      if ((iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)) {\n        *puVar29 = uStack_68;\n        (*pcVar43)(uVar4);\n        if (in_a3 != (undefined4 *)0x0) {\n          *in_a3 = 2;\n        }\n        pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);\n        pp_Var26 = pp_Var9;\n        goto LAB_00061bec;\n      }\n    }\n    pp_Var32 = (GC *)0x0;\n    (**(code **)(puVar42 + 0x546c4))(uVar4);\n    pp_Var26 = pp_Var9;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x53788) + 0x17d0,0);" (assignment_expression "uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x53788) + 0x17d0,0)" identifier = (call_expression "(**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x53788) + 0x17d0,0)" (parenthesized_expression "(**(code **)(puVar42 + 0x544b8))" ( (pointer_expression "**(code **)(puVar42 + 0x544b8)" * (pointer_expression "*(code **)(puVar42 + 0x544b8)" * (cast_expression "(code **)(puVar42 + 0x544b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x544b8)" ( (binary_expression "puVar42 + 0x544b8" identifier + number_literal) ))))) )) (argument_list "(uVar4,*(int *)(puVar42 + 0x53788) + 0x17d0,0)" ( identifier , (binary_expression "*(int *)(puVar42 + 0x53788) + 0x17d0" (pointer_expression "*(int *)(puVar42 + 0x53788)" * (cast_expression "(int *)(puVar42 + 0x53788)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + 0x53788)" ( (binary_expression "puVar42 + 0x53788" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "puVar30 = &uStack_6c;" (assignment_expression "puVar30 = &uStack_6c" identifier = (pointer_expression "&uStack_6c" & identifier)) ;) (expression_statement "iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);" (assignment_expression "iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5)" identifier = (call_expression "(**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5)" (parenthesized_expression "(**(code **)(puVar42 + 0x54710))" ( (pointer_expression "**(code **)(puVar42 + 0x54710)" * (pointer_expression "*(code **)(puVar42 + 0x54710)" * (cast_expression "(code **)(puVar42 + 0x54710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x54710)" ( (binary_expression "puVar42 + 0x54710" identifier + number_literal) ))))) )) (argument_list "(pp_Var9,uVar5)" ( identifier , identifier )))) ;) (if_statement "if ((iVar7 != 0) &&\n       (unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0)) {\n      uStack_68 = 0xc;\n      uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0);\n      puVar30 = &uStack_68;\n      iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n      if ((iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)) {\n        *puVar29 = uStack_68;\n        (*pcVar43)(uVar4);\n        if (in_a3 != (undefined4 *)0x0) {\n          *in_a3 = 2;\n        }\n        pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);\n        pp_Var26 = pp_Var9;\n        goto LAB_00061bec;\n      }\n    }" if (parenthesized_expression "((iVar7 != 0) &&\n       (unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0))" ( (binary_expression "(iVar7 != 0) &&\n       (unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0)" ( (comma_expression "unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c), unaff_s6 != 0" (assignment_expression "unaff_s6 = (**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c)" identifier = (call_expression "(**(code **)(puVar42 + 0x53fa8))(uVar4,uStack_6c)" (parenthesized_expression "(**(code **)(puVar42 + 0x53fa8))" ( (pointer_expression "**(code **)(puVar42 + 0x53fa8)" * (pointer_expression "*(code **)(puVar42 + 0x53fa8)" * (cast_expression "(code **)(puVar42 + 0x53fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x53fa8)" ( (binary_expression "puVar42 + 0x53fa8" identifier + number_literal) ))))) )) (argument_list "(uVar4,uStack_6c)" ( identifier , identifier )))) , (binary_expression "unaff_s6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      uStack_68 = 0xc;\n      uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0);\n      puVar30 = &uStack_68;\n      iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);\n      if ((iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)) {\n        *puVar29 = uStack_68;\n        (*pcVar43)(uVar4);\n        if (in_a3 != (undefined4 *)0x0) {\n          *in_a3 = 2;\n        }\n        pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);\n        pp_Var26 = pp_Var9;\n        goto LAB_00061bec;\n      }\n    }" { (expression_statement "uStack_68 = 0xc;" (assignment_expression "uStack_68 = 0xc" identifier = number_literal) ;) (expression_statement "uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0);" (assignment_expression "uVar5 = (**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0)" identifier = (call_expression "(**(code **)(puVar42 + 0x544b8))(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0)" (parenthesized_expression "(**(code **)(puVar42 + 0x544b8))" ( (pointer_expression "**(code **)(puVar42 + 0x544b8)" * (pointer_expression "*(code **)(puVar42 + 0x544b8)" * (cast_expression "(code **)(puVar42 + 0x544b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x544b8)" ( (binary_expression "puVar42 + 0x544b8" identifier + number_literal) ))))) )) (argument_list "(uVar4,*(int *)(puVar42 + 0x5376c) + -0x367c,0)" ( identifier , (binary_expression "*(int *)(puVar42 + 0x5376c) + -0x367c" (pointer_expression "*(int *)(puVar42 + 0x5376c)" * (cast_expression "(int *)(puVar42 + 0x5376c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + 0x5376c)" ( (binary_expression "puVar42 + 0x5376c" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "puVar30 = &uStack_68;" (assignment_expression "puVar30 = &uStack_68" identifier = (pointer_expression "&uStack_68" & identifier)) ;) (expression_statement "iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5);" (assignment_expression "iVar7 = (**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5)" identifier = (call_expression "(**(code **)(puVar42 + 0x54710))(pp_Var9,uVar5)" (parenthesized_expression "(**(code **)(puVar42 + 0x54710))" ( (pointer_expression "**(code **)(puVar42 + 0x54710)" * (pointer_expression "*(code **)(puVar42 + 0x54710)" * (cast_expression "(code **)(puVar42 + 0x54710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x54710)" ( (binary_expression "puVar42 + 0x54710" identifier + number_literal) ))))) )) (argument_list "(pp_Var9,uVar5)" ( identifier , identifier )))) ;) (if_statement "if ((iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)) {\n        *puVar29 = uStack_68;\n        (*pcVar43)(uVar4);\n        if (in_a3 != (undefined4 *)0x0) {\n          *in_a3 = 2;\n        }\n        pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);\n        pp_Var26 = pp_Var9;\n        goto LAB_00061bec;\n      }" if (parenthesized_expression "((iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0))" ( (binary_expression "(iVar7 != 0) && (pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0)" ( (comma_expression "pcVar43 = *(code **)(puVar42 + 0x546c4), uStack_68 != 0" (assignment_expression "pcVar43 = *(code **)(puVar42 + 0x546c4)" identifier = (pointer_expression "*(code **)(puVar42 + 0x546c4)" * (cast_expression "(code **)(puVar42 + 0x546c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x546c4)" ( (binary_expression "puVar42 + 0x546c4" identifier + number_literal) ))))) , (binary_expression "uStack_68 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        *puVar29 = uStack_68;\n        (*pcVar43)(uVar4);\n        if (in_a3 != (undefined4 *)0x0) {\n          *in_a3 = 2;\n        }\n        pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);\n        pp_Var26 = pp_Var9;\n        goto LAB_00061bec;\n      }" { (expression_statement "*puVar29 = uStack_68;" (assignment_expression "*puVar29 = uStack_68" (pointer_expression "*puVar29" * identifier) = identifier) ;) (expression_statement "(*pcVar43)(uVar4);" (call_expression "(*pcVar43)(uVar4)" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "(uVar4)" ( identifier ))) ;) (if_statement "if (in_a3 != (undefined4 *)0x0) {\n          *in_a3 = 2;\n        }" if (parenthesized_expression "(in_a3 != (undefined4 *)0x0)" ( (binary_expression "in_a3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *in_a3 = 2;\n        }" { (expression_statement "*in_a3 = 2;" (assignment_expression "*in_a3 = 2" (pointer_expression "*in_a3" * identifier) = number_literal) ;) })) (expression_statement "pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6);" (assignment_expression "pp_Var32 = (GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6)" identifier = (cast_expression "(GC *)(**(code **)(puVar42 + 0x53790))(unaff_s6)" ( (type_descriptor "GC *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar42 + 0x53790))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar42 + 0x53790))" ( (pointer_expression "**(code **)(puVar42 + 0x53790)" * (pointer_expression "*(code **)(puVar42 + 0x53790)" * (cast_expression "(code **)(puVar42 + 0x53790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x53790)" ( (binary_expression "puVar42 + 0x53790" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier ))))) ;) (expression_statement "pp_Var26 = pp_Var9;" (assignment_expression "pp_Var26 = pp_Var9" identifier = identifier) ;) (goto_statement "goto LAB_00061bec;" goto statement_identifier ;) })) })) (expression_statement "pp_Var32 = (GC *)0x0;" (assignment_expression "pp_Var32 = (GC *)0x0" identifier = (cast_expression "(GC *)0x0" ( (type_descriptor "GC *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar42 + 0x546c4))(uVar4);" (call_expression "(**(code **)(puVar42 + 0x546c4))(uVar4)" (parenthesized_expression "(**(code **)(puVar42 + 0x546c4))" ( (pointer_expression "**(code **)(puVar42 + 0x546c4)" * (pointer_expression "*(code **)(puVar42 + 0x546c4)" * (cast_expression "(code **)(puVar42 + 0x546c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x546c4)" ( (binary_expression "puVar42 + 0x546c4" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "pp_Var26 = pp_Var9;" (assignment_expression "pp_Var26 = pp_Var9" identifier = identifier) ;) })) (labeled_statement "LAB_00061bec:\n  if (iStack_64 == *piVar36) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_64 == *piVar36) {\n    return;\n  }" if (parenthesized_expression "(iStack_64 == *piVar36)" ( (binary_expression "iStack_64 == *piVar36" identifier == (pointer_expression "*piVar36" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar43 = *(code **)(puVar42 + 0x542f4);" (assignment_expression "pcVar43 = *(code **)(puVar42 + 0x542f4)" identifier = (pointer_expression "*(code **)(puVar42 + 0x542f4)" * (cast_expression "(code **)(puVar42 + 0x542f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x542f4)" ( (binary_expression "puVar42 + 0x542f4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar43)();" (call_expression "(*pcVar43)()" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar10 = *(int **)(pcVar43 + 0x5445c);" (assignment_expression "piVar10 = *(int **)(pcVar43 + 0x5445c)" identifier = (pointer_expression "*(int **)(pcVar43 + 0x5445c)" * (cast_expression "(int **)(pcVar43 + 0x5445c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x5445c)" ( (binary_expression "pcVar43 + 0x5445c" identifier + number_literal) ))))) ;) (expression_statement "pxVar33 = (x11font *)0x8000;" (assignment_expression "pxVar33 = (x11font *)0x8000" identifier = (cast_expression "(x11font *)0x8000" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_b4 = *piVar10;" (assignment_expression "iStack_b4 = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "pp_Stack_b0 = pp_Var32;" (assignment_expression "pp_Stack_b0 = pp_Var32" identifier = identifier) ;) (expression_statement "uStack_ac = uVar4;" (assignment_expression "uStack_ac = uVar4" identifier = identifier) ;) (expression_statement "piStack_a8 = piVar36;" (assignment_expression "piStack_a8 = piVar36" identifier = identifier) ;) (expression_statement "pp_Stack_a4 = pp_Var25;" (assignment_expression "pp_Stack_a4 = pp_Var25" identifier = identifier) ;) (expression_statement "puStack_9c = puVar29;" (assignment_expression "puStack_9c = puVar29" identifier = identifier) ;) (expression_statement "iStack_98 = unaff_s6;" (assignment_expression "iStack_98 = unaff_s6" identifier = identifier) ;) (expression_statement "uVar4 = (**(code **)(pcVar43 + 0x54200))();" (assignment_expression "uVar4 = (**(code **)(pcVar43 + 0x54200))()" identifier = (call_expression "(**(code **)(pcVar43 + 0x54200))()" (parenthesized_expression "(**(code **)(pcVar43 + 0x54200))" ( (pointer_expression "**(code **)(pcVar43 + 0x54200)" * (pointer_expression "*(code **)(pcVar43 + 0x54200)" * (cast_expression "(code **)(pcVar43 + 0x54200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54200)" ( (binary_expression "pcVar43 + 0x54200" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = (**(code **)(pcVar43 + 0x53dac))(uVar4);" (assignment_expression "uVar4 = (**(code **)(pcVar43 + 0x53dac))(uVar4)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53dac))(uVar4)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53dac))" ( (pointer_expression "**(code **)(pcVar43 + 0x53dac)" * (pointer_expression "*(code **)(pcVar43 + 0x53dac)" * (cast_expression "(code **)(pcVar43 + 0x53dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53dac)" ( (binary_expression "pcVar43 + 0x53dac" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar7 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n    x = pxVar33;\n    piVar36 = &iStack_b8;\n    puVar11 = (undefined4 *)(**(code **)(pcVar43 + 0x54470))(uVar4,iVar7 + -0x3680);\n    xfont_00 = (x11font *)(uint)(iStack_b8 < (int)pxVar33);\n    if (xfont_00 != (x11font *)0x0) break;\n    pxVar33 = (x11font *)((int)pxVar33 << 1);\n    (**(code **)(pcVar43 + 0x544e0))(puVar11);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    x = pxVar33;\n    piVar36 = &iStack_b8;\n    puVar11 = (undefined4 *)(**(code **)(pcVar43 + 0x54470))(uVar4,iVar7 + -0x3680);\n    xfont_00 = (x11font *)(uint)(iStack_b8 < (int)pxVar33);\n    if (xfont_00 != (x11font *)0x0) break;\n    pxVar33 = (x11font *)((int)pxVar33 << 1);\n    (**(code **)(pcVar43 + 0x544e0))(puVar11);\n  }" { (expression_statement "x = pxVar33;" (assignment_expression "x = pxVar33" identifier = identifier) ;) (expression_statement "piVar36 = &iStack_b8;" (assignment_expression "piVar36 = &iStack_b8" identifier = (pointer_expression "&iStack_b8" & identifier)) ;) (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcVar43 + 0x54470))(uVar4,iVar7 + -0x3680);" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcVar43 + 0x54470))(uVar4,iVar7 + -0x3680)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar43 + 0x54470))(uVar4,iVar7 + -0x3680)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar43 + 0x54470))(uVar4,iVar7 + -0x3680)" (parenthesized_expression "(**(code **)(pcVar43 + 0x54470))" ( (pointer_expression "**(code **)(pcVar43 + 0x54470)" * (pointer_expression "*(code **)(pcVar43 + 0x54470)" * (cast_expression "(code **)(pcVar43 + 0x54470)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54470)" ( (binary_expression "pcVar43 + 0x54470" identifier + number_literal) ))))) )) (argument_list "(uVar4,iVar7 + -0x3680)" ( identifier , (binary_expression "iVar7 + -0x3680" identifier + number_literal) ))))) ;) (expression_statement "xfont_00 = (x11font *)(uint)(iStack_b8 < (int)pxVar33);" (assignment_expression "xfont_00 = (x11font *)(uint)(iStack_b8 < (int)pxVar33)" identifier = (cast_expression "(x11font *)(uint)(iStack_b8 < (int)pxVar33)" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iStack_b8 < (int)pxVar33)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iStack_b8 < (int)pxVar33)" ( (binary_expression "iStack_b8 < (int)pxVar33" identifier < (cast_expression "(int)pxVar33" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (xfont_00 != (x11font *)0x0) break;" if (parenthesized_expression "(xfont_00 != (x11font *)0x0)" ( (binary_expression "xfont_00 != (x11font *)0x0" identifier != (cast_expression "(x11font *)0x0" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pxVar33 = (x11font *)((int)pxVar33 << 1);" (assignment_expression "pxVar33 = (x11font *)((int)pxVar33 << 1)" identifier = (cast_expression "(x11font *)((int)pxVar33 << 1)" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pxVar33 << 1)" ( (binary_expression "(int)pxVar33 << 1" (cast_expression "(int)pxVar33" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "(**(code **)(pcVar43 + 0x544e0))(puVar11);" (call_expression "(**(code **)(pcVar43 + 0x544e0))(puVar11)" (parenthesized_expression "(**(code **)(pcVar43 + 0x544e0))" ( (pointer_expression "**(code **)(pcVar43 + 0x544e0)" * (pointer_expression "*(code **)(pcVar43 + 0x544e0)" * (cast_expression "(code **)(pcVar43 + 0x544e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x544e0)" ( (binary_expression "pcVar43 + 0x544e0" identifier + number_literal) ))))) )) (argument_list "(puVar11)" ( identifier ))) ;) })) (expression_statement "pxVar33 = (x11font *)0x0;" (assignment_expression "pxVar33 = (x11font *)0x0" identifier = (cast_expression "(x11font *)0x0" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar43 + 0x53578);\n    iVar45 = 0;\n    iVar18 = *(int *)(pcVar43 + 0x53578);\n    pxVar33 = (x11font *)0x0;\n    iVar22 = *(int *)(pcVar43 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar27 = *(int *)(pcVar43 + 0x5355c);\n    iVar12 = *(int *)(pcVar43 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar28 = *(int *)(pcVar43 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar37 = puVar11;\n    do {\n      puVar13 = (undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37);\n      if (puVar13 == (undefined4 *)0x0) {\n        xfont_00 = (x11font *)*puVar37;\n        piVar36 = (int *)0x0;\n        iStack_150 = iVar27 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        pwStack_f4 = (wchar_t *)0x0;\n        x = xfont_00;\n        (*(code *)pp_Var26)(puVar30);\n        (**(code **)(pcVar43 + 0x53574))(0);\n      }\n      else {\n        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);\n        iVar14 = (iVar14 + 0x40) * 4;\n        if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);\n        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);\n        pcVar8 = (char *)puVar13[2];\n        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);\n        if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);\n        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);\n        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);\n        if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }\n        puVar35 = (undefined1 *)((int)puVar34 + 1);\n        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar43 + 0x53578);\n        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);\n        iStack_158 = puVar13[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);\n        x = (x11font *)0xffffffff;\n        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);\n        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }\n        piVar38 = *(int **)(pcVar43 + 0x53690);\n        pcVar8 = (char *)puVar13[10];\n        iVar14 = *(int *)(pcVar43 + 0x53578);\n        pcVar44 = *(code **)(pcVar43 + 0x54198);\n        *piVar38 = 2;\n        xfont_00 = (x11font *)(int)*pcVar8;\n        iVar14 = (*pcVar44)(iVar14 + -0x3590);\n        if (iVar14 == 0) {\n          *piVar38 = 10;\n        }\n        iVar14 = puVar13[6];\n        pcVar44 = *(code **)(pcVar43 + 0x53574);\n        if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }\n        (*pcVar44)(puVar13);\n      }\n      iVar45 = iVar45 + 1;\n      puVar37 = puVar37 + 1;\n    } while (iVar45 < iStack_b8);\n  }" if (parenthesized_expression "(0 < iStack_b8)" ( (binary_expression "0 < iStack_b8" number_literal < identifier) )) (compound_statement "{\n    iVar7 = *(int *)(pcVar43 + 0x53578);\n    iVar45 = 0;\n    iVar18 = *(int *)(pcVar43 + 0x53578);\n    pxVar33 = (x11font *)0x0;\n    iVar22 = *(int *)(pcVar43 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar27 = *(int *)(pcVar43 + 0x5355c);\n    iVar12 = *(int *)(pcVar43 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar28 = *(int *)(pcVar43 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar37 = puVar11;\n    do {\n      puVar13 = (undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37);\n      if (puVar13 == (undefined4 *)0x0) {\n        xfont_00 = (x11font *)*puVar37;\n        piVar36 = (int *)0x0;\n        iStack_150 = iVar27 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        pwStack_f4 = (wchar_t *)0x0;\n        x = xfont_00;\n        (*(code *)pp_Var26)(puVar30);\n        (**(code **)(pcVar43 + 0x53574))(0);\n      }\n      else {\n        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);\n        iVar14 = (iVar14 + 0x40) * 4;\n        if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);\n        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);\n        pcVar8 = (char *)puVar13[2];\n        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);\n        if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);\n        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);\n        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);\n        if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }\n        puVar35 = (undefined1 *)((int)puVar34 + 1);\n        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar43 + 0x53578);\n        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);\n        iStack_158 = puVar13[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);\n        x = (x11font *)0xffffffff;\n        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);\n        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }\n        piVar38 = *(int **)(pcVar43 + 0x53690);\n        pcVar8 = (char *)puVar13[10];\n        iVar14 = *(int *)(pcVar43 + 0x53578);\n        pcVar44 = *(code **)(pcVar43 + 0x54198);\n        *piVar38 = 2;\n        xfont_00 = (x11font *)(int)*pcVar8;\n        iVar14 = (*pcVar44)(iVar14 + -0x3590);\n        if (iVar14 == 0) {\n          *piVar38 = 10;\n        }\n        iVar14 = puVar13[6];\n        pcVar44 = *(code **)(pcVar43 + 0x53574);\n        if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }\n        (*pcVar44)(puVar13);\n      }\n      iVar45 = iVar45 + 1;\n      puVar37 = puVar37 + 1;\n    } while (iVar45 < iStack_b8);\n  }" { (expression_statement "iVar7 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar7 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "iVar45 = 0;" (assignment_expression "iVar45 = 0" identifier = number_literal) ;) (expression_statement "iVar18 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar18 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "pxVar33 = (x11font *)0x0;" (assignment_expression "pxVar33 = (x11font *)0x0" identifier = (cast_expression "(x11font *)0x0" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar22 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar22 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar7 + -0x360c);" (assignment_expression "uVar4 = *(undefined4 *)(iVar7 + -0x360c)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + -0x360c)" * (cast_expression "(undefined4 *)(iVar7 + -0x360c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x360c)" ( (binary_expression "iVar7 + -0x360c" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = *(int *)(pcVar43 + 0x5355c);" (assignment_expression "iVar27 = *(int *)(pcVar43 + 0x5355c)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x5355c)" * (cast_expression "(int *)(pcVar43 + 0x5355c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x5355c)" ( (binary_expression "pcVar43 + 0x5355c" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(pcVar43 + 0x53aac);" (assignment_expression "iVar12 = *(int *)(pcVar43 + 0x53aac)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53aac)" * (cast_expression "(int *)(pcVar43 + 0x53aac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53aac)" ( (binary_expression "pcVar43 + 0x53aac" identifier + number_literal) ))))) ;) (expression_statement "iStack_ec = 0;" (assignment_expression "iStack_ec = 0" identifier = number_literal) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar18 + -0x3614);" (assignment_expression "uVar5 = *(undefined4 *)(iVar18 + -0x3614)" identifier = (pointer_expression "*(undefined4 *)(iVar18 + -0x3614)" * (cast_expression "(undefined4 *)(iVar18 + -0x3614)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -0x3614)" ( (binary_expression "iVar18 + -0x3614" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar28 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(iVar22 + -0x362c);" (assignment_expression "uVar6 = *(undefined4 *)(iVar22 + -0x362c)" identifier = (pointer_expression "*(undefined4 *)(iVar22 + -0x362c)" * (cast_expression "(undefined4 *)(iVar22 + -0x362c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x362c)" ( (binary_expression "iVar22 + -0x362c" identifier + number_literal) ))))) ;) (expression_statement "puVar37 = puVar11;" (assignment_expression "puVar37 = puVar11" identifier = identifier) ;) (do_statement "do {\n      puVar13 = (undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37);\n      if (puVar13 == (undefined4 *)0x0) {\n        xfont_00 = (x11font *)*puVar37;\n        piVar36 = (int *)0x0;\n        iStack_150 = iVar27 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        pwStack_f4 = (wchar_t *)0x0;\n        x = xfont_00;\n        (*(code *)pp_Var26)(puVar30);\n        (**(code **)(pcVar43 + 0x53574))(0);\n      }\n      else {\n        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);\n        iVar14 = (iVar14 + 0x40) * 4;\n        if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);\n        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);\n        pcVar8 = (char *)puVar13[2];\n        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);\n        if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);\n        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);\n        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);\n        if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }\n        puVar35 = (undefined1 *)((int)puVar34 + 1);\n        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar43 + 0x53578);\n        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);\n        iStack_158 = puVar13[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);\n        x = (x11font *)0xffffffff;\n        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);\n        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }\n        piVar38 = *(int **)(pcVar43 + 0x53690);\n        pcVar8 = (char *)puVar13[10];\n        iVar14 = *(int *)(pcVar43 + 0x53578);\n        pcVar44 = *(code **)(pcVar43 + 0x54198);\n        *piVar38 = 2;\n        xfont_00 = (x11font *)(int)*pcVar8;\n        iVar14 = (*pcVar44)(iVar14 + -0x3590);\n        if (iVar14 == 0) {\n          *piVar38 = 10;\n        }\n        iVar14 = puVar13[6];\n        pcVar44 = *(code **)(pcVar43 + 0x53574);\n        if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }\n        (*pcVar44)(puVar13);\n      }\n      iVar45 = iVar45 + 1;\n      puVar37 = puVar37 + 1;\n    } while (iVar45 < iStack_b8);" do (compound_statement "{\n      puVar13 = (undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37);\n      if (puVar13 == (undefined4 *)0x0) {\n        xfont_00 = (x11font *)*puVar37;\n        piVar36 = (int *)0x0;\n        iStack_150 = iVar27 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        pwStack_f4 = (wchar_t *)0x0;\n        x = xfont_00;\n        (*(code *)pp_Var26)(puVar30);\n        (**(code **)(pcVar43 + 0x53574))(0);\n      }\n      else {\n        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);\n        iVar14 = (iVar14 + 0x40) * 4;\n        if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);\n        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);\n        pcVar8 = (char *)puVar13[2];\n        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);\n        if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);\n        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);\n        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);\n        if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }\n        puVar35 = (undefined1 *)((int)puVar34 + 1);\n        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar43 + 0x53578);\n        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);\n        iStack_158 = puVar13[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);\n        x = (x11font *)0xffffffff;\n        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);\n        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }\n        piVar38 = *(int **)(pcVar43 + 0x53690);\n        pcVar8 = (char *)puVar13[10];\n        iVar14 = *(int *)(pcVar43 + 0x53578);\n        pcVar44 = *(code **)(pcVar43 + 0x54198);\n        *piVar38 = 2;\n        xfont_00 = (x11font *)(int)*pcVar8;\n        iVar14 = (*pcVar44)(iVar14 + -0x3590);\n        if (iVar14 == 0) {\n          *piVar38 = 10;\n        }\n        iVar14 = puVar13[6];\n        pcVar44 = *(code **)(pcVar43 + 0x53574);\n        if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }\n        (*pcVar44)(puVar13);\n      }\n      iVar45 = iVar45 + 1;\n      puVar37 = puVar37 + 1;\n    }" { (expression_statement "puVar13 = (undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37);" (assignment_expression "puVar13 = (undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37)" identifier = (cast_expression "(undefined4 *)(*(code *)(iVar12 + 0x116c))(*puVar37)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar12 + 0x116c))(*puVar37)" (parenthesized_expression "(*(code *)(iVar12 + 0x116c))" ( (pointer_expression "*(code *)(iVar12 + 0x116c)" * (cast_expression "(code *)(iVar12 + 0x116c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x116c)" ( (binary_expression "iVar12 + 0x116c" identifier + number_literal) )))) )) (argument_list "(*puVar37)" ( (pointer_expression "*puVar37" * identifier) ))))) ;) (if_statement "if (puVar13 == (undefined4 *)0x0) {\n        xfont_00 = (x11font *)*puVar37;\n        piVar36 = (int *)0x0;\n        iStack_150 = iVar27 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        pwStack_f4 = (wchar_t *)0x0;\n        x = xfont_00;\n        (*(code *)pp_Var26)(puVar30);\n        (**(code **)(pcVar43 + 0x53574))(0);\n      }\n      else {\n        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);\n        iVar14 = (iVar14 + 0x40) * 4;\n        if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);\n        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);\n        pcVar8 = (char *)puVar13[2];\n        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);\n        if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);\n        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);\n        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);\n        if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }\n        puVar35 = (undefined1 *)((int)puVar34 + 1);\n        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar43 + 0x53578);\n        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);\n        iStack_158 = puVar13[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);\n        x = (x11font *)0xffffffff;\n        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);\n        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }\n        piVar38 = *(int **)(pcVar43 + 0x53690);\n        pcVar8 = (char *)puVar13[10];\n        iVar14 = *(int *)(pcVar43 + 0x53578);\n        pcVar44 = *(code **)(pcVar43 + 0x54198);\n        *piVar38 = 2;\n        xfont_00 = (x11font *)(int)*pcVar8;\n        iVar14 = (*pcVar44)(iVar14 + -0x3590);\n        if (iVar14 == 0) {\n          *piVar38 = 10;\n        }\n        iVar14 = puVar13[6];\n        pcVar44 = *(code **)(pcVar43 + 0x53574);\n        if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }\n        (*pcVar44)(puVar13);\n      }" if (parenthesized_expression "(puVar13 == (undefined4 *)0x0)" ( (binary_expression "puVar13 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        xfont_00 = (x11font *)*puVar37;\n        piVar36 = (int *)0x0;\n        iStack_150 = iVar27 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        pwStack_f4 = (wchar_t *)0x0;\n        x = xfont_00;\n        (*(code *)pp_Var26)(puVar30);\n        (**(code **)(pcVar43 + 0x53574))(0);\n      }" { (expression_statement "xfont_00 = (x11font *)*puVar37;" (assignment_expression "xfont_00 = (x11font *)*puVar37" identifier = (cast_expression "(x11font *)*puVar37" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar37" * identifier))) ;) (expression_statement "piVar36 = (int *)0x0;" (assignment_expression "piVar36 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_150 = iVar27 + 0x4768;" (assignment_expression "iStack_150 = iVar27 + 0x4768" identifier = (binary_expression "iVar27 + 0x4768" identifier + number_literal)) ;) (expression_statement "iStack_154 = 4;" (assignment_expression "iStack_154 = 4" identifier = number_literal) ;) (expression_statement "iStack_158 = 0;" (assignment_expression "iStack_158 = 0" identifier = number_literal) ;) (expression_statement "in_stack_fffffea4 = (undefined1 *)0x0;" (assignment_expression "in_stack_fffffea4 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwStack_f4 = (wchar_t *)0x0;" (assignment_expression "pwStack_f4 = (wchar_t *)0x0" identifier = (cast_expression "(wchar_t *)0x0" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "x = xfont_00;" (assignment_expression "x = xfont_00" identifier = identifier) ;) (expression_statement "(*(code *)pp_Var26)(puVar30);" (call_expression "(*(code *)pp_Var26)(puVar30)" (parenthesized_expression "(*(code *)pp_Var26)" ( (pointer_expression "*(code *)pp_Var26" * (cast_expression "(code *)pp_Var26" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar43 + 0x53574))(0);" (call_expression "(**(code **)(pcVar43 + 0x53574))(0)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53574))" ( (pointer_expression "**(code **)(pcVar43 + 0x53574)" * (pointer_expression "*(code **)(pcVar43 + 0x53574)" * (cast_expression "(code **)(pcVar43 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53574)" ( (binary_expression "pcVar43 + 0x53574" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);\n        iVar14 = (iVar14 + 0x40) * 4;\n        if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);\n        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);\n        pcVar8 = (char *)puVar13[2];\n        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);\n        if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);\n        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);\n        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);\n        if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }\n        puVar35 = (undefined1 *)((int)puVar34 + 1);\n        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar43 + 0x53578);\n        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);\n        iStack_158 = puVar13[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);\n        x = (x11font *)0xffffffff;\n        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);\n        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }\n        piVar38 = *(int **)(pcVar43 + 0x53690);\n        pcVar8 = (char *)puVar13[10];\n        iVar14 = *(int *)(pcVar43 + 0x53578);\n        pcVar44 = *(code **)(pcVar43 + 0x54198);\n        *piVar38 = 2;\n        xfont_00 = (x11font *)(int)*pcVar8;\n        iVar14 = (*pcVar44)(iVar14 + -0x3590);\n        if (iVar14 == 0) {\n          *piVar38 = 10;\n        }\n        iVar14 = puVar13[6];\n        pcVar44 = *(code **)(pcVar43 + 0x53574);\n        if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }\n        (*pcVar44)(puVar13);\n      }" else (compound_statement "{\n        iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);\n        iVar14 = (iVar14 + 0x40) * 4;\n        if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);\n        piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);\n        pcVar8 = (char *)puVar13[2];\n        pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);\n        if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }\n        iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);\n        puVar34 = (undefined4 *)((int)pwVar40 + iVar15);\n        iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);\n        if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }\n        puVar35 = (undefined1 *)((int)puVar34 + 1);\n        iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar43 + 0x53578);\n        iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);\n        iStack_158 = puVar13[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[4]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[10]);\n        (**(code **)(pcVar43 + 0x54364))(puVar13[5]);\n        x = (x11font *)0xffffffff;\n        piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);\n        iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);\n        if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }\n        piVar38 = *(int **)(pcVar43 + 0x53690);\n        pcVar8 = (char *)puVar13[10];\n        iVar14 = *(int *)(pcVar43 + 0x53578);\n        pcVar44 = *(code **)(pcVar43 + 0x54198);\n        *piVar38 = 2;\n        xfont_00 = (x11font *)(int)*pcVar8;\n        iVar14 = (*pcVar44)(iVar14 + -0x3590);\n        if (iVar14 == 0) {\n          *piVar38 = 10;\n        }\n        iVar14 = puVar13[6];\n        pcVar44 = *(code **)(pcVar43 + 0x53574);\n        if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }\n        (*pcVar44)(puVar13);\n      }" { (expression_statement "iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37);" (assignment_expression "iVar14 = (**(code **)(pcVar43 + 0x54364))(*puVar37)" identifier = (call_expression "(**(code **)(pcVar43 + 0x54364))(*puVar37)" (parenthesized_expression "(**(code **)(pcVar43 + 0x54364))" ( (pointer_expression "**(code **)(pcVar43 + 0x54364)" * (pointer_expression "*(code **)(pcVar43 + 0x54364)" * (cast_expression "(code **)(pcVar43 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54364)" ( (binary_expression "pcVar43 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(*puVar37)" ( (pointer_expression "*puVar37" * identifier) )))) ;) (expression_statement "iVar14 = (iVar14 + 0x40) * 4;" (assignment_expression "iVar14 = (iVar14 + 0x40) * 4" identifier = (binary_expression "(iVar14 + 0x40) * 4" (parenthesized_expression "(iVar14 + 0x40)" ( (binary_expression "iVar14 + 0x40" identifier + number_literal) )) * number_literal)) ;) (if_statement "if (iStack_ec < iVar14) {\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }" if (parenthesized_expression "(iStack_ec < iVar14)" ( (binary_expression "iStack_ec < iVar14" identifier < identifier) )) (compound_statement "{\n          pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);\n          iStack_ec = iVar14;\n        }" { (expression_statement "pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1);" (assignment_expression "pxVar33 = (x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1)" identifier = (cast_expression "(x11font *)(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1)" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar43 + 0x5366c))(pxVar33,iVar14,1)" (parenthesized_expression "(**(code **)(pcVar43 + 0x5366c))" ( (pointer_expression "**(code **)(pcVar43 + 0x5366c)" * (pointer_expression "*(code **)(pcVar43 + 0x5366c)" * (cast_expression "(code **)(pcVar43 + 0x5366c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x5366c)" ( (binary_expression "pcVar43 + 0x5366c" identifier + number_literal) ))))) )) (argument_list "(pxVar33,iVar14,1)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "iStack_ec = iVar14;" (assignment_expression "iStack_ec = iVar14" identifier = identifier) ;) })) (expression_statement "iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13);" (assignment_expression "iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13)" identifier = (call_expression "(**(code **)(pcVar43 + 0x54344))\n                           (pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13)" (parenthesized_expression "(**(code **)(pcVar43 + 0x54344))" ( (pointer_expression "**(code **)(pcVar43 + 0x54344)" * (pointer_expression "*(code **)(pcVar43 + 0x54344)" * (cast_expression "(code **)(pcVar43 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54344)" ( (binary_expression "pcVar43 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(pxVar33,1,0xffffffff,iVar28 + -0x3668,puVar13[1],*puVar13)" ( identifier , number_literal , number_literal , (binary_expression "iVar28 + -0x3668" identifier + number_literal) , (subscript_expression "puVar13[1]" identifier [ number_literal ]) , (pointer_expression "*puVar13" * identifier) )))) ;) (expression_statement "piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f);" (assignment_expression "piVar31 = (int *)((int)pxVar33->fonts + iVar15 + -0x1f)" identifier = (cast_expression "(int *)((int)pxVar33->fonts + iVar15 + -0x1f)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pxVar33->fonts + iVar15 + -0x1f)" ( (binary_expression "(int)pxVar33->fonts + iVar15 + -0x1f" (binary_expression "(int)pxVar33->fonts + iVar15" (cast_expression "(int)pxVar33->fonts" ( (type_descriptor "int" primitive_type) ) (field_expression "pxVar33->fonts" identifier -> field_identifier)) + identifier) + number_literal) )))) ;) (expression_statement "iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd]);" (assignment_expression "iVar15 = (**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd])" identifier = (call_expression "(**(code **)(pcVar43 + 0x54344))\n                           (piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd])" (parenthesized_expression "(**(code **)(pcVar43 + 0x54344))" ( (pointer_expression "**(code **)(pcVar43 + 0x54344)" * (pointer_expression "*(code **)(pcVar43 + 0x54344)" * (cast_expression "(code **)(pcVar43 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54344)" ( (binary_expression "pcVar43 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(piVar31,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x3688,puVar13[0xc],\n                            puVar13[0xd])" ( identifier , number_literal , number_literal , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x3688" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) , (subscript_expression "puVar13[0xc]" identifier [ number_literal ]) , (subscript_expression "puVar13[0xd]" identifier [ number_literal ]) )))) ;) (expression_statement "pcVar8 = (char *)puVar13[2];" (assignment_expression "pcVar8 = (char *)puVar13[2]" identifier = (cast_expression "(char *)puVar13[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar13[2]" identifier [ number_literal ]))) ;) (expression_statement "pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1);" (assignment_expression "pwVar40 = (wchar_t *)((int)piVar31 + iVar15 + 1)" identifier = (cast_expression "(wchar_t *)((int)piVar31 + iVar15 + 1)" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar31 + iVar15 + 1)" ( (binary_expression "(int)piVar31 + iVar15 + 1" (binary_expression "(int)piVar31 + iVar15" (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (*pcVar8 == '\0') {\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }" if (parenthesized_expression "(*pcVar8 == '\0')" ( (binary_expression "*pcVar8 == '\0'" (pointer_expression "*pcVar8" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);\n        }" { (expression_statement "pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670);" (assignment_expression "pcVar8 = (char *)(*(int *)(pcVar43 + 0x53578) + -0x3670)" identifier = (cast_expression "(char *)(*(int *)(pcVar43 + 0x53578) + -0x3670)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x53578) + -0x3670)" ( (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x3670" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8);" (assignment_expression "iVar15 = (**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8)" identifier = (call_expression "(**(code **)(pcVar43 + 0x54320))\n                           (pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8)" (parenthesized_expression "(**(code **)(pcVar43 + 0x54320))" ( (pointer_expression "**(code **)(pcVar43 + 0x54320)" * (pointer_expression "*(code **)(pcVar43 + 0x54320)" * (cast_expression "(code **)(pcVar43 + 0x54320)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54320)" ( (binary_expression "pcVar43 + 0x54320" identifier + number_literal) ))))) )) (argument_list "(pwVar40,*(int *)(pcVar43 + 0x53578) + -0x40d8,pcVar8)" ( identifier , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x40d8" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "puVar34 = (undefined4 *)((int)pwVar40 + iVar15);" (assignment_expression "puVar34 = (undefined4 *)((int)pwVar40 + iVar15)" identifier = (cast_expression "(undefined4 *)((int)pwVar40 + iVar15)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar40 + iVar15)" ( (binary_expression "(int)pwVar40 + iVar15" (cast_expression "(int)pwVar40" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660);" (assignment_expression "iVar15 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3660)" ( (subscript_expression "puVar13[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x3660" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar15 == 0) {\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }\n        else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);\n          *puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);\n          puVar34[1] = uVar16;\n          puVar34 = (undefined4 *)((int)puVar34 + 7);\nLAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar34 = uVar4;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }" { (expression_statement "uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c);" (assignment_expression "uVar16 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c)" * (cast_expression "(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x364c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x53578) + -0x364c)" ( (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x364c" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650);" (assignment_expression "*puVar34 = *(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650)" (pointer_expression "*puVar34" * identifier) = (pointer_expression "*(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650)" * (cast_expression "(undefined4 *)(*(int *)(pcVar43 + 0x53578) + -0x3650)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x53578) + -0x3650)" ( (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x3650" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar34[1] = uVar16;" (assignment_expression "puVar34[1] = uVar16" (subscript_expression "puVar34[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar34 = (undefined4 *)((int)puVar34 + 7);" (assignment_expression "puVar34 = (undefined4 *)((int)puVar34 + 7)" identifier = (cast_expression "(undefined4 *)((int)puVar34 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + 7)" ( (binary_expression "(int)puVar34 + 7" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_00061ee8:\n          pcVar8 = (char *)puVar13[4];" statement_identifier : (expression_statement "pcVar8 = (char *)puVar13[4];" (assignment_expression "pcVar8 = (char *)puVar13[4]" identifier = (cast_expression "(char *)puVar13[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar13[4]" identifier [ number_literal ]))) ;)) (expression_statement "iVar15 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar15 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar8 == '\0') goto LAB_00061ef8;" if (parenthesized_expression "(*pcVar8 == '\0')" ( (binary_expression "*pcVar8 == '\0'" (pointer_expression "*pcVar8" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00061ef8;" goto statement_identifier ;)) (labeled_statement "LAB_0006228c:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);" statement_identifier : (expression_statement "iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c);" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))(pcVar8,iVar15 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(pcVar8,iVar15 + -0x361c)" ( identifier , (binary_expression "iVar15 + -0x361c" identifier + number_literal) )))) ;)) (if_statement "if (iVar17 == 0) goto LAB_00061ef8;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00061ef8;" goto statement_identifier ;)) (expression_statement "iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])\n          ;" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])" identifier = (call_expression "(**(code **)(pcVar43 + 0x54344))\n                             (puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])" (parenthesized_expression "(**(code **)(pcVar43 + 0x54344))" ( (pointer_expression "**(code **)(pcVar43 + 0x54344)" * (pointer_expression "*(code **)(pcVar43 + 0x54344)" * (cast_expression "(code **)(pcVar43 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54344)" ( (binary_expression "pcVar43 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(puVar34,1,0xffffffff,*(int *)(pcVar43 + 0x53578) + -0x12b0,puVar13[4])" ( identifier , number_literal , number_literal , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x12b0" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) , (subscript_expression "puVar13[4]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar34 = (undefined4 *)((int)puVar34 + iVar17);" (assignment_expression "puVar34 = (undefined4 *)((int)puVar34 + iVar17)" identifier = (cast_expression "(undefined4 *)((int)puVar34 + iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + iVar17)" ( (binary_expression "(int)puVar34 + iVar17" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4)" ( (subscript_expression "puVar13[10]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x6dc4" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar17 == 0) goto LAB_000622e8;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000622e8;" goto statement_identifier ;)) (labeled_statement "LAB_00061f14:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);" statement_identifier : (expression_statement "iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724);" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x2724)" ( (subscript_expression "puVar13[10]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x2724" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;)) (if_statement "if (iVar17 != 0) goto LAB_00061f30;" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00061f30;" goto statement_identifier ;)) (labeled_statement "LAB_00062324:\n          *puVar34 = uVar4;" statement_identifier : (expression_statement "*puVar34 = uVar4;" (assignment_expression "*puVar34 = uVar4" (pointer_expression "*puVar34" * identifier) = identifier) ;)) (expression_statement "puVar34 = puVar34 + 1;" (assignment_expression "puVar34 = puVar34 + 1" identifier = (binary_expression "puVar34 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608);" (assignment_expression "*(undefined1 *)puVar34 = *(undefined1 *)(iVar7 + -0x3608)" (pointer_expression "*(undefined1 *)puVar34" * (cast_expression "(undefined1 *)puVar34" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(iVar7 + -0x3608)" * (cast_expression "(undefined1 *)(iVar7 + -0x3608)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x3608)" ( (binary_expression "iVar7 + -0x3608" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = (char *)puVar13[5];" (assignment_expression "pcVar8 = (char *)puVar13[5]" identifier = (cast_expression "(char *)puVar13[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar13[5]" identifier [ number_literal ]))) ;) (expression_statement "cVar1 = *pcVar8;" (assignment_expression "cVar1 = *pcVar8" identifier = (pointer_expression "*pcVar8" * identifier)) ;) (expression_statement "iVar17 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }" else (compound_statement "{\n          iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);\n          if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar15 + -0x3634);\n          *puVar34 = *(undefined4 *)(iVar15 + -0x363c);\n          puVar34[1] = uVar16;\n          puVar34 = puVar34 + 2;\n          *(undefined1 *)puVar34 = uVar2;\n          pcVar8 = (char *)puVar13[4];\n          iVar15 = *(int *)(pcVar43 + 0x53578);\n          if (*pcVar8 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n          pcVar44 = *(code **)(pcVar43 + 0x53f38);\n          *puVar34 = uVar5;\n          puVar34 = puVar34 + 1;\n          *(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar8 = (char *)puVar13[5];\n          cVar1 = *pcVar8;\n          iVar17 = *(int *)(pcVar43 + 0x53578);\n        }" { (expression_statement "iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc);" (assignment_expression "iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x72bc)" ( (subscript_expression "puVar13[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x72bc" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar15 != 0) {\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);\n            if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }" { (expression_statement "iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c);" (assignment_expression "iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))\n                               (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x365c)" ( (subscript_expression "puVar13[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x365c" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar15 == 0) {\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }\n            else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar15 = *(int *)(pcVar43 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar15 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar15 + -0x3650);\n              uVar16 = *(undefined4 *)(iVar15 + -0x364c);\n              *puVar34 = *(undefined4 *)(iVar15 + -0x3658);\n              puVar34[1] = uVar23;\n              puVar34[2] = uVar19;\n              puVar34[3] = uVar16;\n              puVar34 = (undefined4 *)((int)puVar34 + 0xf);\n            }" { (expression_statement "iVar15 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar15 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = *(undefined4 *)(iVar15 + -0x3654);" (assignment_expression "uVar23 = *(undefined4 *)(iVar15 + -0x3654)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + -0x3654)" * (cast_expression "(undefined4 *)(iVar15 + -0x3654)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x3654)" ( (binary_expression "iVar15 + -0x3654" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = *(undefined4 *)(iVar15 + -0x3650);" (assignment_expression "uVar19 = *(undefined4 *)(iVar15 + -0x3650)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + -0x3650)" * (cast_expression "(undefined4 *)(iVar15 + -0x3650)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x3650)" ( (binary_expression "iVar15 + -0x3650" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar15 + -0x364c);" (assignment_expression "uVar16 = *(undefined4 *)(iVar15 + -0x364c)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + -0x364c)" * (cast_expression "(undefined4 *)(iVar15 + -0x364c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x364c)" ( (binary_expression "iVar15 + -0x364c" identifier + number_literal) ))))) ;) (expression_statement "*puVar34 = *(undefined4 *)(iVar15 + -0x3658);" (assignment_expression "*puVar34 = *(undefined4 *)(iVar15 + -0x3658)" (pointer_expression "*puVar34" * identifier) = (pointer_expression "*(undefined4 *)(iVar15 + -0x3658)" * (cast_expression "(undefined4 *)(iVar15 + -0x3658)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x3658)" ( (binary_expression "iVar15 + -0x3658" identifier + number_literal) ))))) ;) (expression_statement "puVar34[1] = uVar23;" (assignment_expression "puVar34[1] = uVar23" (subscript_expression "puVar34[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar34[2] = uVar19;" (assignment_expression "puVar34[2] = uVar19" (subscript_expression "puVar34[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar34[3] = uVar16;" (assignment_expression "puVar34[3] = uVar16" (subscript_expression "puVar34[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar34 = (undefined4 *)((int)puVar34 + 0xf);" (assignment_expression "puVar34 = (undefined4 *)((int)puVar34 + 0xf)" identifier = (cast_expression "(undefined4 *)((int)puVar34 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + 0xf)" ( (binary_expression "(int)puVar34 + 0xf" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }" else (compound_statement "{\n              iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);\n              if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }\n            }" { (expression_statement "iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648);" (assignment_expression "iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3648)" ( (subscript_expression "puVar13[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x3648" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar15 == 0) {\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }\n              else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar15 = *(int *)(pcVar43 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar15 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar15 + -0x363c);\n                uVar16 = *(undefined4 *)(iVar15 + -0x3638);\n                *puVar34 = *(undefined4 *)(iVar15 + -0x3644);\n                puVar34[1] = uVar23;\n                puVar34[2] = uVar19;\n                puVar34[3] = uVar16;\n                puVar34 = puVar34 + 4;\n                *(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);\n              }" { (expression_statement "iVar15 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar15 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = *(undefined4 *)(iVar15 + -0x3640);" (assignment_expression "uVar23 = *(undefined4 *)(iVar15 + -0x3640)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + -0x3640)" * (cast_expression "(undefined4 *)(iVar15 + -0x3640)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x3640)" ( (binary_expression "iVar15 + -0x3640" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = *(undefined4 *)(iVar15 + -0x363c);" (assignment_expression "uVar19 = *(undefined4 *)(iVar15 + -0x363c)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + -0x363c)" * (cast_expression "(undefined4 *)(iVar15 + -0x363c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x363c)" ( (binary_expression "iVar15 + -0x363c" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar15 + -0x3638);" (assignment_expression "uVar16 = *(undefined4 *)(iVar15 + -0x3638)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + -0x3638)" * (cast_expression "(undefined4 *)(iVar15 + -0x3638)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x3638)" ( (binary_expression "iVar15 + -0x3638" identifier + number_literal) ))))) ;) (expression_statement "*puVar34 = *(undefined4 *)(iVar15 + -0x3644);" (assignment_expression "*puVar34 = *(undefined4 *)(iVar15 + -0x3644)" (pointer_expression "*puVar34" * identifier) = (pointer_expression "*(undefined4 *)(iVar15 + -0x3644)" * (cast_expression "(undefined4 *)(iVar15 + -0x3644)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x3644)" ( (binary_expression "iVar15 + -0x3644" identifier + number_literal) ))))) ;) (expression_statement "puVar34[1] = uVar23;" (assignment_expression "puVar34[1] = uVar23" (subscript_expression "puVar34[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar34[2] = uVar19;" (assignment_expression "puVar34[2] = uVar19" (subscript_expression "puVar34[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar34[3] = uVar16;" (assignment_expression "puVar34[3] = uVar16" (subscript_expression "puVar34[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar34 = puVar34 + 4;" (assignment_expression "puVar34 = puVar34 + 4" identifier = (binary_expression "puVar34 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634);" (assignment_expression "*(undefined1 *)puVar34 = *(undefined1 *)(iVar15 + -0x3634)" (pointer_expression "*(undefined1 *)puVar34" * (cast_expression "(undefined1 *)puVar34" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(iVar15 + -0x3634)" * (cast_expression "(undefined1 *)(iVar15 + -0x3634)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x3634)" ( (binary_expression "iVar15 + -0x3634" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }" else (compound_statement "{\n                iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);\n                if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }\n              }" { (expression_statement "iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630);" (assignment_expression "iVar15 = (**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))\n                                   (puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[3],*(int *)(pcVar43 + 0x53578) + -0x3630)" ( (subscript_expression "puVar13[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x3630" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar15 == 0) {\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                  *puVar34 = uVar6;\n                  uVar16 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar34[2] = uVar16;\n                  puVar34 = puVar34 + 3;\n                  *(undefined1 *)puVar34 = uVar2;\n                }" { (expression_statement "*puVar34 = uVar6;" (assignment_expression "*puVar34 = uVar6" (pointer_expression "*puVar34" * identifier) = identifier) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar22 + -0x3624);" (assignment_expression "uVar16 = *(undefined4 *)(iVar22 + -0x3624)" identifier = (pointer_expression "*(undefined4 *)(iVar22 + -0x3624)" * (cast_expression "(undefined4 *)(iVar22 + -0x3624)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x3624)" ( (binary_expression "iVar22 + -0x3624" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined1 *)(iVar22 + -0x3620);" (assignment_expression "uVar2 = *(undefined1 *)(iVar22 + -0x3620)" identifier = (pointer_expression "*(undefined1 *)(iVar22 + -0x3620)" * (cast_expression "(undefined1 *)(iVar22 + -0x3620)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x3620)" ( (binary_expression "iVar22 + -0x3620" identifier + number_literal) ))))) ;) (expression_statement "puVar34[1] = *(undefined4 *)(iVar22 + -0x3628);" (assignment_expression "puVar34[1] = *(undefined4 *)(iVar22 + -0x3628)" (subscript_expression "puVar34[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar22 + -0x3628)" * (cast_expression "(undefined4 *)(iVar22 + -0x3628)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x3628)" ( (binary_expression "iVar22 + -0x3628" identifier + number_literal) ))))) ;) (expression_statement "puVar34[2] = uVar16;" (assignment_expression "puVar34[2] = uVar16" (subscript_expression "puVar34[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar34 = puVar34 + 3;" (assignment_expression "puVar34 = puVar34 + 3" identifier = (binary_expression "puVar34 + 3" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar34 = uVar2;" (assignment_expression "*(undefined1 *)puVar34 = uVar2" (pointer_expression "*(undefined1 *)puVar34" * (cast_expression "(undefined1 *)puVar34" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) })) }))) }))) (goto_statement "goto LAB_00061ee8;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar15 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar15 + -0x3638);" (assignment_expression "uVar16 = *(undefined4 *)(iVar15 + -0x3638)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + -0x3638)" * (cast_expression "(undefined4 *)(iVar15 + -0x3638)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x3638)" ( (binary_expression "iVar15 + -0x3638" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined1 *)(iVar15 + -0x3634);" (assignment_expression "uVar2 = *(undefined1 *)(iVar15 + -0x3634)" identifier = (pointer_expression "*(undefined1 *)(iVar15 + -0x3634)" * (cast_expression "(undefined1 *)(iVar15 + -0x3634)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x3634)" ( (binary_expression "iVar15 + -0x3634" identifier + number_literal) ))))) ;) (expression_statement "*puVar34 = *(undefined4 *)(iVar15 + -0x363c);" (assignment_expression "*puVar34 = *(undefined4 *)(iVar15 + -0x363c)" (pointer_expression "*puVar34" * identifier) = (pointer_expression "*(undefined4 *)(iVar15 + -0x363c)" * (cast_expression "(undefined4 *)(iVar15 + -0x363c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x363c)" ( (binary_expression "iVar15 + -0x363c" identifier + number_literal) ))))) ;) (expression_statement "puVar34[1] = uVar16;" (assignment_expression "puVar34[1] = uVar16" (subscript_expression "puVar34[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar34 = puVar34 + 2;" (assignment_expression "puVar34 = puVar34 + 2" identifier = (binary_expression "puVar34 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar34 = uVar2;" (assignment_expression "*(undefined1 *)puVar34 = uVar2" (pointer_expression "*(undefined1 *)puVar34" * (cast_expression "(undefined1 *)puVar34" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "pcVar8 = (char *)puVar13[4];" (assignment_expression "pcVar8 = (char *)puVar13[4]" identifier = (cast_expression "(char *)puVar13[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar13[4]" identifier [ number_literal ]))) ;) (expression_statement "iVar15 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar15 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar8 != '\0') goto LAB_0006228c;" if (parenthesized_expression "(*pcVar8 != '\0')" ( (binary_expression "*pcVar8 != '\0'" (pointer_expression "*pcVar8" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0006228c;" goto statement_identifier ;)) (labeled_statement "LAB_00061ef8:\n          iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);" statement_identifier : (expression_statement "iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4);" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))\n                             (puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[10],*(int *)(pcVar43 + 0x53578) + -0x6dc4)" ( (subscript_expression "puVar13[10]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x6dc4" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;)) (if_statement "if (iVar17 != 0) goto LAB_00061f14;" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00061f14;" goto statement_identifier ;)) (labeled_statement "LAB_000622e8:\n          iVar17 = *(int *)(pcVar43 + 0x53578);" statement_identifier : (expression_statement "iVar17 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;)) (expression_statement "pcVar44 = *(code **)(pcVar43 + 0x53f38);" (assignment_expression "pcVar44 = *(code **)(pcVar43 + 0x53f38)" identifier = (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) ;) (expression_statement "*puVar34 = uVar5;" (assignment_expression "*puVar34 = uVar5" (pointer_expression "*puVar34" * identifier) = identifier) ;) (expression_statement "puVar34 = puVar34 + 1;" (assignment_expression "puVar34 = puVar34 + 1" identifier = (binary_expression "puVar34 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610);" (assignment_expression "*(undefined1 *)puVar34 = *(undefined1 *)(iVar18 + -0x3610)" (pointer_expression "*(undefined1 *)puVar34" * (cast_expression "(undefined1 *)puVar34" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(iVar18 + -0x3610)" * (cast_expression "(undefined1 *)(iVar18 + -0x3610)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -0x3610)" ( (binary_expression "iVar18 + -0x3610" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724);" (assignment_expression "iVar17 = (*pcVar44)(puVar13[10],iVar17 + -0x2724)" identifier = (call_expression "(*pcVar44)(puVar13[10],iVar17 + -0x2724)" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "(puVar13[10],iVar17 + -0x2724)" ( (subscript_expression "puVar13[10]" identifier [ number_literal ]) , (binary_expression "iVar17 + -0x2724" identifier + number_literal) )))) ;) (if_statement "if (iVar17 == 0) goto LAB_00062324;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00062324;" goto statement_identifier ;)) (labeled_statement "LAB_00061f30:\n          pcVar8 = (char *)puVar13[5];" statement_identifier : (expression_statement "pcVar8 = (char *)puVar13[5];" (assignment_expression "pcVar8 = (char *)puVar13[5]" identifier = (cast_expression "(char *)puVar13[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar13[5]" identifier [ number_literal ]))) ;)) (expression_statement "cVar1 = *pcVar8;" (assignment_expression "cVar1 = *pcVar8" identifier = (pointer_expression "*pcVar8" * identifier)) ;) (expression_statement "iVar17 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) }))) (if_statement "if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);\n          puVar34 = (undefined4 *)((int)puVar34 + iVar17);\n        }" { (expression_statement "iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8);" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8)" identifier = (call_expression "(**(code **)(pcVar43 + 0x54344))(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8)" (parenthesized_expression "(**(code **)(pcVar43 + 0x54344))" ( (pointer_expression "**(code **)(pcVar43 + 0x54344)" * (pointer_expression "*(code **)(pcVar43 + 0x54344)" * (cast_expression "(code **)(pcVar43 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54344)" ( (binary_expression "pcVar43 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(puVar34,1,0xffffffff,iVar17 + -0x12b0,pcVar8)" ( identifier , number_literal , number_literal , (binary_expression "iVar17 + -0x12b0" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar34 = (undefined4 *)((int)puVar34 + iVar17);" (assignment_expression "puVar34 = (undefined4 *)((int)puVar34 + iVar17)" identifier = (cast_expression "(undefined4 *)((int)puVar34 + iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + iVar17)" ( (binary_expression "(int)puVar34 + iVar17" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "puVar35 = (undefined1 *)((int)puVar34 + 1);" (assignment_expression "puVar35 = (undefined1 *)((int)puVar34 + 1)" identifier = (cast_expression "(undefined1 *)((int)puVar34 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + 1)" ( (binary_expression "(int)puVar34 + 1" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604);" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3604)" ( (subscript_expression "puVar13[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x3604" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          pwStack_f4 = (wchar_t *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }" if (parenthesized_expression "((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 ))" ( (binary_expression "(((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )" (parenthesized_expression "(((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)\n            )" ( (binary_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)" (parenthesized_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0))" ( (binary_expression "(iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0)" (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0)" ( (comma_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x3670)" ( (subscript_expression "puVar13[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x3670" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0)" ( (comma_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))(puVar13[2],iVar15 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[2],iVar15 + -0x361c)" ( (subscript_expression "puVar13[2]" identifier [ number_literal ]) , (binary_expression "iVar15 + -0x361c" identifier + number_literal) )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0\n                 )" ( (comma_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))\n                                     (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35fc)" ( (subscript_expression "puVar13[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x35fc" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          pwStack_f4 = (wchar_t *)0x0;\n        }" { (expression_statement "pwStack_f4 = (wchar_t *)0x0;" (assignment_expression "pwStack_f4 = (wchar_t *)0x0" identifier = (cast_expression "(wchar_t *)0x0" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }" else (compound_statement "{\n          iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }\n        }" { (expression_statement "iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4);" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4)" identifier = (call_expression "(**(code **)(pcVar43 + 0x54304))\n                             (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4)" (parenthesized_expression "(**(code **)(pcVar43 + 0x54304))" ( (pointer_expression "**(code **)(pcVar43 + 0x54304)" * (pointer_expression "*(code **)(pcVar43 + 0x54304)" * (cast_expression "(code **)(pcVar43 + 0x54304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54304)" ( (binary_expression "pcVar43 + 0x54304" identifier + number_literal) ))))) )) (argument_list "(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35f4,4)" ( (subscript_expression "puVar13[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x35f4" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            pwStack_f4 = (wchar_t *)0x1;\n          }\n          else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }" if (parenthesized_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0))" ( (binary_expression "(iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0)" (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0)" ( (comma_expression "iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4)" identifier = (call_expression "(**(code **)(pcVar43 + 0x54304))\n                                 (puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4)" (parenthesized_expression "(**(code **)(pcVar43 + 0x54304))" ( (pointer_expression "**(code **)(pcVar43 + 0x54304)" * (pointer_expression "*(code **)(pcVar43 + 0x54304)" * (cast_expression "(code **)(pcVar43 + 0x54304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54304)" ( (binary_expression "pcVar43 + 0x54304" identifier + number_literal) ))))) )) (argument_list "(puVar13[2],*(int *)(pcVar43 + 0x53578) + -0x35ec,4)" ( (subscript_expression "puVar13[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x35ec" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) , number_literal )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            pwStack_f4 = (wchar_t *)0x1;\n          }" { (expression_statement "pwStack_f4 = (wchar_t *)0x1;" (assignment_expression "pwStack_f4 = (wchar_t *)0x1" identifier = (cast_expression "(wchar_t *)0x1" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            pwStack_f4 = (wchar_t *)0x2;\n          }" else (compound_statement "{\n            pwStack_f4 = (wchar_t *)0x2;\n          }" { (expression_statement "pwStack_f4 = (wchar_t *)0x2;" (assignment_expression "pwStack_f4 = (wchar_t *)0x2" identifier = (cast_expression "(wchar_t *)0x2" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (expression_statement "iVar17 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c);" (assignment_expression "iStack_154 = (**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c)" identifier = (call_expression "(**(code **)(pcVar43 + 0x53f38))(puVar13[3],iVar17 + -0x702c)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[3],iVar17 + -0x702c)" ( (subscript_expression "puVar13[3]" identifier [ number_literal ]) , (binary_expression "iVar17 + -0x702c" identifier + number_literal) )))) ;) (if_statement "if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }" if (parenthesized_expression "(iStack_154 != 0)" ( (binary_expression "iStack_154 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }" { (expression_statement "iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1);" (assignment_expression "iVar17 = (**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1)" identifier = (call_expression "(**(code **)(pcVar43 + 0x54304))(puVar13[3],iVar17 + -0x702c,1)" (parenthesized_expression "(**(code **)(pcVar43 + 0x54304))" ( (pointer_expression "**(code **)(pcVar43 + 0x54304)" * (pointer_expression "*(code **)(pcVar43 + 0x54304)" * (cast_expression "(code **)(pcVar43 + 0x54304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54304)" ( (binary_expression "pcVar43 + 0x54304" identifier + number_literal) ))))) )) (argument_list "(puVar13[3],iVar17 + -0x702c,1)" ( (subscript_expression "puVar13[3]" identifier [ number_literal ]) , (binary_expression "iVar17 + -0x702c" identifier + number_literal) , number_literal )))) ;) (expression_statement "iStack_154 = 1;" (assignment_expression "iStack_154 = 1" identifier = number_literal) ;) (if_statement "if (iVar17 == 0) {\n            iStack_154 = 2;\n          }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            iStack_154 = 2;\n          }" { (expression_statement "iStack_154 = 2;" (assignment_expression "iStack_154 = 2" identifier = number_literal) ;) })) })) (expression_statement "(**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c);" (call_expression "(**(code **)(pcVar43 + 0x53f38))(puVar13[4],iVar15 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar43 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar43 + 0x53f38)" * (pointer_expression "*(code **)(pcVar43 + 0x53f38)" * (cast_expression "(code **)(pcVar43 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53f38)" ( (binary_expression "pcVar43 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar13[4],iVar15 + -0x361c)" ( (subscript_expression "puVar13[4]" identifier [ number_literal ]) , (binary_expression "iVar15 + -0x361c" identifier + number_literal) ))) ;) (expression_statement "iStack_158 = puVar13[2];" (assignment_expression "iStack_158 = puVar13[2]" identifier = (subscript_expression "puVar13[2]" identifier [ number_literal ])) ;) (expression_statement "in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158);" (assignment_expression "in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar43 + 0x54364))(iStack_158)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar43 + 0x54364))(iStack_158)" (parenthesized_expression "(**(code **)(pcVar43 + 0x54364))" ( (pointer_expression "**(code **)(pcVar43 + 0x54364)" * (pointer_expression "*(code **)(pcVar43 + 0x54364)" * (cast_expression "(code **)(pcVar43 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54364)" ( (binary_expression "pcVar43 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(iStack_158)" ( identifier ))))) ;) (expression_statement "iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3]);" (assignment_expression "iStack_150 = (**(code **)(pcVar43 + 0x54364))(puVar13[3])" identifier = (call_expression "(**(code **)(pcVar43 + 0x54364))(puVar13[3])" (parenthesized_expression "(**(code **)(pcVar43 + 0x54364))" ( (pointer_expression "**(code **)(pcVar43 + 0x54364)" * (pointer_expression "*(code **)(pcVar43 + 0x54364)" * (cast_expression "(code **)(pcVar43 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54364)" ( (binary_expression "pcVar43 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar13[3])" ( (subscript_expression "puVar13[3]" identifier [ number_literal ]) )))) ;) (expression_statement "(**(code **)(pcVar43 + 0x54364))(puVar13[4]);" (call_expression "(**(code **)(pcVar43 + 0x54364))(puVar13[4])" (parenthesized_expression "(**(code **)(pcVar43 + 0x54364))" ( (pointer_expression "**(code **)(pcVar43 + 0x54364)" * (pointer_expression "*(code **)(pcVar43 + 0x54364)" * (cast_expression "(code **)(pcVar43 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54364)" ( (binary_expression "pcVar43 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar13[4])" ( (subscript_expression "puVar13[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcVar43 + 0x54364))(puVar13[10]);" (call_expression "(**(code **)(pcVar43 + 0x54364))(puVar13[10])" (parenthesized_expression "(**(code **)(pcVar43 + 0x54364))" ( (pointer_expression "**(code **)(pcVar43 + 0x54364)" * (pointer_expression "*(code **)(pcVar43 + 0x54364)" * (cast_expression "(code **)(pcVar43 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54364)" ( (binary_expression "pcVar43 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar13[10])" ( (subscript_expression "puVar13[10]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcVar43 + 0x54364))(puVar13[5]);" (call_expression "(**(code **)(pcVar43 + 0x54364))(puVar13[5])" (parenthesized_expression "(**(code **)(pcVar43 + 0x54364))" ( (pointer_expression "**(code **)(pcVar43 + 0x54364)" * (pointer_expression "*(code **)(pcVar43 + 0x54364)" * (cast_expression "(code **)(pcVar43 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54364)" ( (binary_expression "pcVar43 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar13[5])" ( (subscript_expression "puVar13[5]" identifier [ number_literal ]) ))) ;) (expression_statement "x = (x11font *)0xffffffff;" (assignment_expression "x = (x11font *)0xffffffff" identifier = (cast_expression "(x11font *)0xffffffff" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4);" (assignment_expression "piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4)" identifier = (cast_expression "(int *)(*(int *)(pcVar43 + 0x53578) + -0x35e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x53578) + -0x35e4)" ( (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x35e4" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1);" (assignment_expression "iVar15 = (**(code **)(pcVar43 + 0x54344))(puVar35,1)" identifier = (call_expression "(**(code **)(pcVar43 + 0x54344))(puVar35,1)" (parenthesized_expression "(**(code **)(pcVar43 + 0x54344))" ( (pointer_expression "**(code **)(pcVar43 + 0x54344)" * (pointer_expression "*(code **)(pcVar43 + 0x54344)" * (cast_expression "(code **)(pcVar43 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54344)" ( (binary_expression "pcVar43 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(puVar35,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))) {\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }" if (parenthesized_expression "(iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33)))" ( (binary_expression "iVar14 <= (int)(puVar35 + (iVar15 - (int)pxVar33))" identifier <= (cast_expression "(int)(puVar35 + (iVar15 - (int)pxVar33))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar35 + (iVar15 - (int)pxVar33))" ( (binary_expression "puVar35 + (iVar15 - (int)pxVar33)" identifier + (parenthesized_expression "(iVar15 - (int)pxVar33)" ( (binary_expression "iVar15 - (int)pxVar33" identifier - (cast_expression "(int)pxVar33" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) )) (compound_statement "{\n          x = (x11font *)0x442;\n          piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);\n          xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);\n          pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);\n          (**(code **)(pcVar43 + 0x53da4))();\n          goto LAB_0006258c;\n        }" { (expression_statement "x = (x11font *)0x442;" (assignment_expression "x = (x11font *)0x442" identifier = (cast_expression "(x11font *)0x442" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0);" (assignment_expression "piVar36 = (int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0)" identifier = (cast_expression "(int *)(*(int *)(pcVar43 + 0x53578) + -0x30c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x53578) + -0x30c0)" ( (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x30c0" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8);" (assignment_expression "xfont_00 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8)" identifier = (cast_expression "(x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35b8)" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x53578) + -0x35b8)" ( (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x35b8" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8);" (assignment_expression "pxVar33 = (x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8)" identifier = (cast_expression "(x11font *)(*(int *)(pcVar43 + 0x53578) + -0x35a8)" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x53578) + -0x35a8)" ( (binary_expression "*(int *)(pcVar43 + 0x53578) + -0x35a8" (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar43 + 0x53da4))();" (call_expression "(**(code **)(pcVar43 + 0x53da4))()" (parenthesized_expression "(**(code **)(pcVar43 + 0x53da4))" ( (pointer_expression "**(code **)(pcVar43 + 0x53da4)" * (pointer_expression "*(code **)(pcVar43 + 0x53da4)" * (cast_expression "(code **)(pcVar43 + 0x53da4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53da4)" ( (binary_expression "pcVar43 + 0x53da4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0006258c;" goto statement_identifier ;) })) (expression_statement "piVar38 = *(int **)(pcVar43 + 0x53690);" (assignment_expression "piVar38 = *(int **)(pcVar43 + 0x53690)" identifier = (pointer_expression "*(int **)(pcVar43 + 0x53690)" * (cast_expression "(int **)(pcVar43 + 0x53690)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53690)" ( (binary_expression "pcVar43 + 0x53690" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = (char *)puVar13[10];" (assignment_expression "pcVar8 = (char *)puVar13[10]" identifier = (cast_expression "(char *)puVar13[10]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar13[10]" identifier [ number_literal ]))) ;) (expression_statement "iVar14 = *(int *)(pcVar43 + 0x53578);" (assignment_expression "iVar14 = *(int *)(pcVar43 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x53578)" * (cast_expression "(int *)(pcVar43 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x53578)" ( (binary_expression "pcVar43 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "pcVar44 = *(code **)(pcVar43 + 0x54198);" (assignment_expression "pcVar44 = *(code **)(pcVar43 + 0x54198)" identifier = (pointer_expression "*(code **)(pcVar43 + 0x54198)" * (cast_expression "(code **)(pcVar43 + 0x54198)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54198)" ( (binary_expression "pcVar43 + 0x54198" identifier + number_literal) ))))) ;) (expression_statement "*piVar38 = 2;" (assignment_expression "*piVar38 = 2" (pointer_expression "*piVar38" * identifier) = number_literal) ;) (expression_statement "xfont_00 = (x11font *)(int)*pcVar8;" (assignment_expression "xfont_00 = (x11font *)(int)*pcVar8" identifier = (cast_expression "(x11font *)(int)*pcVar8" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*pcVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar8" * identifier)))) ;) (expression_statement "iVar14 = (*pcVar44)(iVar14 + -0x3590);" (assignment_expression "iVar14 = (*pcVar44)(iVar14 + -0x3590)" identifier = (call_expression "(*pcVar44)(iVar14 + -0x3590)" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "(iVar14 + -0x3590)" ( (binary_expression "iVar14 + -0x3590" identifier + number_literal) )))) ;) (if_statement "if (iVar14 == 0) {\n          *piVar38 = 10;\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          *piVar38 = 10;\n        }" { (expression_statement "*piVar38 = 10;" (assignment_expression "*piVar38 = 10" (pointer_expression "*piVar38" * identifier) = number_literal) ;) })) (expression_statement "iVar14 = puVar13[6];" (assignment_expression "iVar14 = puVar13[6]" identifier = (subscript_expression "puVar13[6]" identifier [ number_literal ])) ;) (expression_statement "pcVar44 = *(code **)(pcVar43 + 0x53574);" (assignment_expression "pcVar44 = *(code **)(pcVar43 + 0x53574)" identifier = (pointer_expression "*(code **)(pcVar43 + 0x53574)" * (cast_expression "(code **)(pcVar43 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53574)" ( (binary_expression "pcVar43 + 0x53574" identifier + number_literal) ))))) ;) (if_statement "if (iVar14 != 0) {\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n          xfont_00 = (x11font *)*puVar37;\n          iStack_150 = iVar27 + 0x4768;\n          iStack_154 = *piVar38;\n          x = pxVar33;\n          (*(code *)pp_Var26)(puVar30);\n          pcVar44 = *(code **)(pcVar43 + 0x53574);\n          piVar36 = piVar31;\n          pwStack_f4 = pwVar40;\n          in_stack_fffffea4 = puVar35;\n          iStack_158 = iVar14;\n        }" { (expression_statement "xfont_00 = (x11font *)*puVar37;" (assignment_expression "xfont_00 = (x11font *)*puVar37" identifier = (cast_expression "(x11font *)*puVar37" ( (type_descriptor "x11font *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar37" * identifier))) ;) (expression_statement "iStack_150 = iVar27 + 0x4768;" (assignment_expression "iStack_150 = iVar27 + 0x4768" identifier = (binary_expression "iVar27 + 0x4768" identifier + number_literal)) ;) (expression_statement "iStack_154 = *piVar38;" (assignment_expression "iStack_154 = *piVar38" identifier = (pointer_expression "*piVar38" * identifier)) ;) (expression_statement "x = pxVar33;" (assignment_expression "x = pxVar33" identifier = identifier) ;) (expression_statement "(*(code *)pp_Var26)(puVar30);" (call_expression "(*(code *)pp_Var26)(puVar30)" (parenthesized_expression "(*(code *)pp_Var26)" ( (pointer_expression "*(code *)pp_Var26" * (cast_expression "(code *)pp_Var26" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar30)" ( identifier ))) ;) (expression_statement "pcVar44 = *(code **)(pcVar43 + 0x53574);" (assignment_expression "pcVar44 = *(code **)(pcVar43 + 0x53574)" identifier = (pointer_expression "*(code **)(pcVar43 + 0x53574)" * (cast_expression "(code **)(pcVar43 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53574)" ( (binary_expression "pcVar43 + 0x53574" identifier + number_literal) ))))) ;) (expression_statement "piVar36 = piVar31;" (assignment_expression "piVar36 = piVar31" identifier = identifier) ;) (expression_statement "pwStack_f4 = pwVar40;" (assignment_expression "pwStack_f4 = pwVar40" identifier = identifier) ;) (expression_statement "in_stack_fffffea4 = puVar35;" (assignment_expression "in_stack_fffffea4 = puVar35" identifier = identifier) ;) (expression_statement "iStack_158 = iVar14;" (assignment_expression "iStack_158 = iVar14" identifier = identifier) ;) })) (expression_statement "(*pcVar44)(puVar13);" (call_expression "(*pcVar44)(puVar13)" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "(puVar13)" ( identifier ))) ;) }))) (expression_statement "iVar45 = iVar45 + 1;" (assignment_expression "iVar45 = iVar45 + 1" identifier = (binary_expression "iVar45 + 1" identifier + number_literal)) ;) (expression_statement "puVar37 = puVar37 + 1;" (assignment_expression "puVar37 = puVar37 + 1" identifier = (binary_expression "puVar37 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar45 < iStack_b8)" ( (binary_expression "iVar45 < iStack_b8" identifier < identifier) )) ;) })) (expression_statement "(**(code **)(pcVar43 + 0x544e0))(puVar11);" (call_expression "(**(code **)(pcVar43 + 0x544e0))(puVar11)" (parenthesized_expression "(**(code **)(pcVar43 + 0x544e0))" ( (pointer_expression "**(code **)(pcVar43 + 0x544e0)" * (pointer_expression "*(code **)(pcVar43 + 0x544e0)" * (cast_expression "(code **)(pcVar43 + 0x544e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x544e0)" ( (binary_expression "pcVar43 + 0x544e0" identifier + number_literal) ))))) )) (argument_list "(puVar11)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar43 + 0x53574))();" (call_expression "(**(code **)(pcVar43 + 0x53574))()" (parenthesized_expression "(**(code **)(pcVar43 + 0x53574))" ( (pointer_expression "**(code **)(pcVar43 + 0x53574)" * (pointer_expression "*(code **)(pcVar43 + 0x53574)" * (cast_expression "(code **)(pcVar43 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x53574)" ( (binary_expression "pcVar43 + 0x53574" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_b4 == *piVar10) {\n    return;\n  }" if (parenthesized_expression "(iStack_b4 == *piVar10)" ( (binary_expression "iStack_b4 == *piVar10" identifier == (pointer_expression "*piVar10" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_0006258c:\n  pcVar43 = *(code **)(pcVar43 + 0x54100);" statement_identifier : (expression_statement "pcVar43 = *(code **)(pcVar43 + 0x54100);" (assignment_expression "pcVar43 = *(code **)(pcVar43 + 0x54100)" identifier = (pointer_expression "*(code **)(pcVar43 + 0x54100)" * (cast_expression "(code **)(pcVar43 + 0x54100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x54100)" ( (binary_expression "pcVar43 + 0x54100" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar43)();" (call_expression "(*pcVar43)()" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar39 = (pxVar33->u).vt;" (assignment_expression "puVar39 = (pxVar33->u).vt" identifier = (field_expression "(pxVar33->u).vt" (parenthesized_expression "(pxVar33->u)" ( (field_expression "pxVar33->u" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar18 = iStack_154 - xfont_00->bold;" (assignment_expression "iVar18 = iStack_154 - xfont_00->bold" identifier = (binary_expression "iStack_154 - xfont_00->bold" identifier - (field_expression "xfont_00->bold" identifier -> field_identifier))) ;) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (expression_statement "iVar12 = iStack_158 - xfont_00->wide;" (assignment_expression "iVar12 = iStack_158 - xfont_00->wide" identifier = (binary_expression "iStack_158 - xfont_00->wide" identifier - (field_expression "xfont_00->wide" identifier -> field_identifier))) ;) (if_statement "if (iStack_158 != 0) {\n    iVar7 = 2;\n  }" if (parenthesized_expression "(iStack_158 != 0)" ( (binary_expression "iStack_158 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar7 = 2;\n  }" { (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) })) (expression_statement "iVar22 = iVar12 * 2;" (assignment_expression "iVar22 = iVar12 * 2" identifier = (binary_expression "iVar12 * 2" identifier * number_literal)) ;) (if_statement "if (xfont_00->shadowalways == 0) {\n    iVar27 = iVar18 + iVar22;\n    if (*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24) == 0) {\n      x11_alloc_subfont(xfont_00,iVar27);\n    }\n    iVar28 = *(int *)((int)xfont_00 + iVar27 * 0x34 + 0x20);\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar28 != 0) goto LAB_0006265c;\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = 0;\n    }\n    else {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n    }\njoined_r0x00062808:\n    iVar27 = iVar22;\n    if (iVar28 == 0) {\n      x11_alloc_subfont(xfont_00,iVar22);\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n    else {\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n  }" if (parenthesized_expression "(xfont_00->shadowalways == 0)" ( (binary_expression "xfont_00->shadowalways == 0" (field_expression "xfont_00->shadowalways" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    iVar27 = iVar18 + iVar22;\n    if (*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24) == 0) {\n      x11_alloc_subfont(xfont_00,iVar27);\n    }\n    iVar28 = *(int *)((int)xfont_00 + iVar27 * 0x34 + 0x20);\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar28 != 0) goto LAB_0006265c;\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }" { (expression_statement "iVar27 = iVar18 + iVar22;" (assignment_expression "iVar27 = iVar18 + iVar22" identifier = (binary_expression "iVar18 + iVar22" identifier + identifier)) ;) (if_statement "if (*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24) == 0) {\n      x11_alloc_subfont(xfont_00,iVar27);\n    }" if (parenthesized_expression "(*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24) == 0)" ( (binary_expression "*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24) == 0" (pointer_expression "*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24)" * (cast_expression "(int *)((int)xfont_00 + iVar27 * 0x34 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)xfont_00 + iVar27 * 0x34 + 0x24)" ( (binary_expression "(int)xfont_00 + iVar27 * 0x34 + 0x24" (binary_expression "(int)xfont_00 + iVar27 * 0x34" (cast_expression "(int)xfont_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar27 * 0x34" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n      x11_alloc_subfont(xfont_00,iVar27);\n    }" { (expression_statement "x11_alloc_subfont(xfont_00,iVar27);" (call_expression "x11_alloc_subfont(xfont_00,iVar27)" identifier (argument_list "(xfont_00,iVar27)" ( identifier , identifier ))) ;) })) (expression_statement "iVar28 = *(int *)((int)xfont_00 + iVar27 * 0x34 + 0x20);" (assignment_expression "iVar28 = *(int *)((int)xfont_00 + iVar27 * 0x34 + 0x20)" identifier = (pointer_expression "*(int *)((int)xfont_00 + iVar27 * 0x34 + 0x20)" * (cast_expression "(int *)((int)xfont_00 + iVar27 * 0x34 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)xfont_00 + iVar27 * 0x34 + 0x20)" ( (binary_expression "(int)xfont_00 + iVar27 * 0x34 + 0x20" (binary_expression "(int)xfont_00 + iVar27 * 0x34" (cast_expression "(int)xfont_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar27 * 0x34" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar28 != 0) goto LAB_0006265c;\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n      goto joined_r0x00062808;\n    }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar18 = 0;\n      if (iVar28 != 0) goto LAB_0006265c;\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n      goto joined_r0x00062808;\n    }" { (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (if_statement "if (iVar28 != 0) goto LAB_0006265c;" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006265c;" goto statement_identifier ;)) (expression_statement "iVar12 = iVar12 * 0x68 + (int)xfont_00;" (assignment_expression "iVar12 = iVar12 * 0x68 + (int)xfont_00" identifier = (binary_expression "iVar12 * 0x68 + (int)xfont_00" (binary_expression "iVar12 * 0x68" identifier * number_literal) + (cast_expression "(int)xfont_00" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar28 = *(int *)(iVar12 + 0x24);" (assignment_expression "iVar28 = *(int *)(iVar12 + 0x24)" identifier = (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = xfont_00->shadowoffset;" (assignment_expression "iVar18 = xfont_00->shadowoffset" identifier = (field_expression "xfont_00->shadowoffset" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x00062808;" goto statement_identifier ;) })) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if (iVar18 == 0) {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = 0;\n    }\n    else {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n    }\njoined_r0x00062808:\n    iVar27 = iVar22;\n    if (iVar28 == 0) {\n      x11_alloc_subfont(xfont_00,iVar22);\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n    else {\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n  }" else (compound_statement "{\n    if (iVar18 == 0) {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = 0;\n    }\n    else {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n    }\njoined_r0x00062808:\n    iVar27 = iVar22;\n    if (iVar28 == 0) {\n      x11_alloc_subfont(xfont_00,iVar22);\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n    else {\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n  }" { (if_statement "if (iVar18 == 0) {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = 0;\n    }\n    else {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = 0;\n    }" { (expression_statement "iVar12 = iVar12 * 0x68 + (int)xfont_00;" (assignment_expression "iVar12 = iVar12 * 0x68 + (int)xfont_00" identifier = (binary_expression "iVar12 * 0x68 + (int)xfont_00" (binary_expression "iVar12 * 0x68" identifier * number_literal) + (cast_expression "(int)xfont_00" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar28 = *(int *)(iVar12 + 0x24);" (assignment_expression "iVar28 = *(int *)(iVar12 + 0x24)" identifier = (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n    }" else (compound_statement "{\n      iVar12 = iVar12 * 0x68 + (int)xfont_00;\n      iVar28 = *(int *)(iVar12 + 0x24);\n      iVar18 = xfont_00->shadowoffset;\n    }" { (expression_statement "iVar12 = iVar12 * 0x68 + (int)xfont_00;" (assignment_expression "iVar12 = iVar12 * 0x68 + (int)xfont_00" identifier = (binary_expression "iVar12 * 0x68 + (int)xfont_00" (binary_expression "iVar12 * 0x68" identifier * number_literal) + (cast_expression "(int)xfont_00" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar28 = *(int *)(iVar12 + 0x24);" (assignment_expression "iVar28 = *(int *)(iVar12 + 0x24)" identifier = (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = xfont_00->shadowoffset;" (assignment_expression "iVar18 = xfont_00->shadowoffset" identifier = (field_expression "xfont_00->shadowoffset" identifier -> field_identifier)) ;) }))) (labeled_statement "joined_r0x00062808:\n    iVar27 = iVar22;" statement_identifier : (expression_statement "iVar27 = iVar22;" (assignment_expression "iVar27 = iVar22" identifier = identifier) ;)) (if_statement "if (iVar28 == 0) {\n      x11_alloc_subfont(xfont_00,iVar22);\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }\n    else {\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }" if (parenthesized_expression "(iVar28 == 0)" ( (binary_expression "iVar28 == 0" identifier == number_literal) )) (compound_statement "{\n      x11_alloc_subfont(xfont_00,iVar22);\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }" { (expression_statement "x11_alloc_subfont(xfont_00,iVar22);" (call_expression "x11_alloc_subfont(xfont_00,iVar22)" identifier (argument_list "(xfont_00,iVar22)" ( identifier , identifier ))) ;) (expression_statement "iVar28 = *(int *)(iVar12 + 0x20);" (assignment_expression "iVar28 = *(int *)(iVar12 + 0x20)" identifier = (pointer_expression "*(int *)(iVar12 + 0x20)" * (cast_expression "(int *)(iVar12 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }" else (compound_statement "{\n      iVar28 = *(int *)(iVar12 + 0x20);\n    }" { (expression_statement "iVar28 = *(int *)(iVar12 + 0x20);" (assignment_expression "iVar28 = *(int *)(iVar12 + 0x20)" identifier = (pointer_expression "*(int *)(iVar12 + 0x20)" * (cast_expression "(int *)(iVar12 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) ;) }))) }))) (if_statement "if (iVar28 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar28 == 0)" ( (binary_expression "iVar28 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_0006265c:\n  if (xfont_00->sixteen_bit != 0) {\n    puVar35 = (undefined1 *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar35;\n      do {\n        wVar24 = *pwStack_f4;\n        puVar21 = puVar20 + 2;\n        pwStack_f4 = pwStack_f4 + 1;\n        puVar20[1] = (char)wVar24;\n        *puVar20 = (char)((uint)wVar24 >> 8);\n        puVar20 = puVar21;\n      } while (puVar35 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    x11font_really_draw_text\n              ((x11font_drawfuncs *)\n               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),\n               (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,puVar35,\n               (int)in_stack_fffffea4,iVar18,xfont_00->variable,iVar7 * iStack_150);\n    (**(code **)(pcVar43 + 0x52c78))(puVar35);\n    return;\n  }" statement_identifier : (if_statement "if (xfont_00->sixteen_bit != 0) {\n    puVar35 = (undefined1 *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar35;\n      do {\n        wVar24 = *pwStack_f4;\n        puVar21 = puVar20 + 2;\n        pwStack_f4 = pwStack_f4 + 1;\n        puVar20[1] = (char)wVar24;\n        *puVar20 = (char)((uint)wVar24 >> 8);\n        puVar20 = puVar21;\n      } while (puVar35 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    x11font_really_draw_text\n              ((x11font_drawfuncs *)\n               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),\n               (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,puVar35,\n               (int)in_stack_fffffea4,iVar18,xfont_00->variable,iVar7 * iStack_150);\n    (**(code **)(pcVar43 + 0x52c78))(puVar35);\n    return;\n  }" if (parenthesized_expression "(xfont_00->sixteen_bit != 0)" ( (binary_expression "xfont_00->sixteen_bit != 0" (field_expression "xfont_00->sixteen_bit" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    puVar35 = (undefined1 *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar35;\n      do {\n        wVar24 = *pwStack_f4;\n        puVar21 = puVar20 + 2;\n        pwStack_f4 = pwStack_f4 + 1;\n        puVar20[1] = (char)wVar24;\n        *puVar20 = (char)((uint)wVar24 >> 8);\n        puVar20 = puVar21;\n      } while (puVar35 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    x11font_really_draw_text\n              ((x11font_drawfuncs *)\n               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),\n               (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,puVar35,\n               (int)in_stack_fffffea4,iVar18,xfont_00->variable,iVar7 * iStack_150);\n    (**(code **)(pcVar43 + 0x52c78))(puVar35);\n    return;\n  }" { (expression_statement "puVar35 = (undefined1 *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2);" (assignment_expression "puVar35 = (undefined1 *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4,2)" (parenthesized_expression "(**(code **)(pcVar43 + 0x52c74))" ( (pointer_expression "**(code **)(pcVar43 + 0x52c74)" * (pointer_expression "*(code **)(pcVar43 + 0x52c74)" * (cast_expression "(code **)(pcVar43 + 0x52c74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x52c74)" ( (binary_expression "pcVar43 + 0x52c74" identifier + number_literal) ))))) )) (argument_list "(in_stack_fffffea4,2)" ( identifier , number_literal ))))) ;) (if_statement "if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar35;\n      do {\n        wVar24 = *pwStack_f4;\n        puVar21 = puVar20 + 2;\n        pwStack_f4 = pwStack_f4 + 1;\n        puVar20[1] = (char)wVar24;\n        *puVar20 = (char)((uint)wVar24 >> 8);\n        puVar20 = puVar21;\n      } while (puVar35 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }" if (parenthesized_expression "(0 < (int)in_stack_fffffea4)" ( (binary_expression "0 < (int)in_stack_fffffea4" number_literal < (cast_expression "(int)in_stack_fffffea4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      puVar20 = puVar35;\n      do {\n        wVar24 = *pwStack_f4;\n        puVar21 = puVar20 + 2;\n        pwStack_f4 = pwStack_f4 + 1;\n        puVar20[1] = (char)wVar24;\n        *puVar20 = (char)((uint)wVar24 >> 8);\n        puVar20 = puVar21;\n      } while (puVar35 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }" { (expression_statement "puVar20 = puVar35;" (assignment_expression "puVar20 = puVar35" identifier = identifier) ;) (do_statement "do {\n        wVar24 = *pwStack_f4;\n        puVar21 = puVar20 + 2;\n        pwStack_f4 = pwStack_f4 + 1;\n        puVar20[1] = (char)wVar24;\n        *puVar20 = (char)((uint)wVar24 >> 8);\n        puVar20 = puVar21;\n      } while (puVar35 + (int)in_stack_fffffea4 * 2 != puVar21);" do (compound_statement "{\n        wVar24 = *pwStack_f4;\n        puVar21 = puVar20 + 2;\n        pwStack_f4 = pwStack_f4 + 1;\n        puVar20[1] = (char)wVar24;\n        *puVar20 = (char)((uint)wVar24 >> 8);\n        puVar20 = puVar21;\n      }" { (expression_statement "wVar24 = *pwStack_f4;" (assignment_expression "wVar24 = *pwStack_f4" identifier = (pointer_expression "*pwStack_f4" * identifier)) ;) (expression_statement "puVar21 = puVar20 + 2;" (assignment_expression "puVar21 = puVar20 + 2" identifier = (binary_expression "puVar20 + 2" identifier + number_literal)) ;) (expression_statement "pwStack_f4 = pwStack_f4 + 1;" (assignment_expression "pwStack_f4 = pwStack_f4 + 1" identifier = (binary_expression "pwStack_f4 + 1" identifier + number_literal)) ;) (expression_statement "puVar20[1] = (char)wVar24;" (assignment_expression "puVar20[1] = (char)wVar24" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = (cast_expression "(char)wVar24" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*puVar20 = (char)((uint)wVar24 >> 8);" (assignment_expression "*puVar20 = (char)((uint)wVar24 >> 8)" (pointer_expression "*puVar20" * identifier) = (cast_expression "(char)((uint)wVar24 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)wVar24 >> 8)" ( (binary_expression "(uint)wVar24 >> 8" (cast_expression "(uint)wVar24" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" identifier = identifier) ;) }) while (parenthesized_expression "(puVar35 + (int)in_stack_fffffea4 * 2 != puVar21)" ( (binary_expression "puVar35 + (int)in_stack_fffffea4 * 2 != puVar21" (binary_expression "puVar35 + (int)in_stack_fffffea4 * 2" identifier + (binary_expression "(int)in_stack_fffffea4 * 2" (cast_expression "(int)in_stack_fffffea4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) != identifier) )) ;) })) (expression_statement "x11font_really_draw_text\n              ((x11font_drawfuncs *)\n               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),\n               (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,puVar35,\n               (int)in_stack_fffffea4,iVar18,xfont_00->variable,iVar7 * iStack_150);" (call_expression "x11font_really_draw_text\n              ((x11font_drawfuncs *)\n               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),\n               (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,puVar35,\n               (int)in_stack_fffffea4,iVar18,xfont_00->variable,iVar7 * iStack_150)" identifier (argument_list "((x11font_drawfuncs *)\n               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),\n               (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,puVar35,\n               (int)in_stack_fffffea4,iVar18,xfont_00->variable,iVar7 * iStack_150)" ( (cast_expression "(x11font_drawfuncs *)\n               (*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc)" ( (type_descriptor "x11font_drawfuncs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc)" ( (binary_expression "*(int *)(pcVar43 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc" (binary_expression "*(int *)(pcVar43 + 0x52c60) + 0x4750" (pointer_expression "*(int *)(pcVar43 + 0x52c60)" * (cast_expression "(int *)(pcVar43 + 0x52c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x52c60)" ( (binary_expression "pcVar43 + 0x52c60" identifier + number_literal) )))) + number_literal) + (binary_expression "((int)puVar39 * 2 + 1) * 0xc" (parenthesized_expression "((int)puVar39 * 2 + 1)" ( (binary_expression "(int)puVar39 * 2 + 1" (binary_expression "(int)puVar39 * 2" (cast_expression "(int)puVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) )) * number_literal)) ))) , (cast_expression "(unifont_drawctx *)pxVar33" ( (type_descriptor "unifont_drawctx *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "xfont_00->fonts + iVar27" (field_expression "xfont_00->fonts" identifier -> field_identifier) + identifier) , (cast_expression "(int)x" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)piVar36" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(int)in_stack_fffffea4" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (field_expression "xfont_00->variable" identifier -> field_identifier) , (binary_expression "iVar7 * iStack_150" identifier * identifier) ))) ;) (expression_statement "(**(code **)(pcVar43 + 0x52c78))(puVar35);" (call_expression "(**(code **)(pcVar43 + 0x52c78))(puVar35)" (parenthesized_expression "(**(code **)(pcVar43 + 0x52c78))" ( (pointer_expression "**(code **)(pcVar43 + 0x52c78)" * (pointer_expression "*(code **)(pcVar43 + 0x52c78)" * (cast_expression "(code **)(pcVar43 + 0x52c78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x52c78)" ( (binary_expression "pcVar43 + 0x52c78" identifier + number_literal) ))))) )) (argument_list "(puVar35)" ( identifier ))) ;) (return_statement "return;" return ;) }))) (expression_statement "pcVar8 = (char *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4 + 1,1);" (assignment_expression "pcVar8 = (char *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4 + 1,1)" identifier = (cast_expression "(char *)(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4 + 1,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar43 + 0x52c74))(in_stack_fffffea4 + 1,1)" (parenthesized_expression "(**(code **)(pcVar43 + 0x52c74))" ( (pointer_expression "**(code **)(pcVar43 + 0x52c74)" * (pointer_expression "*(code **)(pcVar43 + 0x52c74)" * (cast_expression "(code **)(pcVar43 + 0x52c74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x52c74)" ( (binary_expression "pcVar43 + 0x52c74" identifier + number_literal) ))))) )) (argument_list "(in_stack_fffffea4 + 1,1)" ( (binary_expression "in_stack_fffffea4 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "iVar12 = wc_to_mb(xfont_00->real_charset,0,pwStack_f4,(int)in_stack_fffffea4,pcVar8,\n                    (int)(in_stack_fffffea4 + 1),(char *)(*(int *)(pcVar43 + 0x52c7c) + -0x48f0),\n                    (int *)0x0,(unicode_data *)0x0);" (assignment_expression "iVar12 = wc_to_mb(xfont_00->real_charset,0,pwStack_f4,(int)in_stack_fffffea4,pcVar8,\n                    (int)(in_stack_fffffea4 + 1),(char *)(*(int *)(pcVar43 + 0x52c7c) + -0x48f0),\n                    (int *)0x0,(unicode_data *)0x0)" identifier = (call_expression "wc_to_mb(xfont_00->real_charset,0,pwStack_f4,(int)in_stack_fffffea4,pcVar8,\n                    (int)(in_stack_fffffea4 + 1),(char *)(*(int *)(pcVar43 + 0x52c7c) + -0x48f0),\n                    (int *)0x0,(unicode_data *)0x0)" identifier (argument_list "(xfont_00->real_charset,0,pwStack_f4,(int)in_stack_fffffea4,pcVar8,\n                    (int)(in_stack_fffffea4 + 1),(char *)(*(int *)(pcVar43 + 0x52c7c) + -0x48f0),\n                    (int *)0x0,(unicode_data *)0x0)" ( (field_expression "xfont_00->real_charset" identifier -> field_identifier) , number_literal , identifier , (cast_expression "(int)in_stack_fffffea4" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(int)(in_stack_fffffea4 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(in_stack_fffffea4 + 1)" ( (binary_expression "in_stack_fffffea4 + 1" identifier + number_literal) ))) , (cast_expression "(char *)(*(int *)(pcVar43 + 0x52c7c) + -0x48f0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x52c7c) + -0x48f0)" ( (binary_expression "*(int *)(pcVar43 + 0x52c7c) + -0x48f0" (pointer_expression "*(int *)(pcVar43 + 0x52c7c)" * (cast_expression "(int *)(pcVar43 + 0x52c7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x52c7c)" ( (binary_expression "pcVar43 + 0x52c7c" identifier + number_literal) )))) + number_literal) ))) , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(unicode_data *)0x0" ( (type_descriptor "unicode_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "x11font_really_draw_text\n            ((x11font_drawfuncs *)(*(int *)(pcVar43 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18),\n             (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,pcVar8,iVar12,\n             iVar18,xfont_00->variable,iVar7 * iStack_150);" (call_expression "x11font_really_draw_text\n            ((x11font_drawfuncs *)(*(int *)(pcVar43 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18),\n             (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,pcVar8,iVar12,\n             iVar18,xfont_00->variable,iVar7 * iStack_150)" identifier (argument_list "((x11font_drawfuncs *)(*(int *)(pcVar43 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18),\n             (unifont_drawctx *)pxVar33,xfont_00->fonts + iVar27,(int)x,(int)piVar36,pcVar8,iVar12,\n             iVar18,xfont_00->variable,iVar7 * iStack_150)" ( (cast_expression "(x11font_drawfuncs *)(*(int *)(pcVar43 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18)" ( (type_descriptor "x11font_drawfuncs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18)" ( (binary_expression "*(int *)(pcVar43 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18" (binary_expression "*(int *)(pcVar43 + 0x52c60) + 0x4750" (pointer_expression "*(int *)(pcVar43 + 0x52c60)" * (cast_expression "(int *)(pcVar43 + 0x52c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x52c60)" ( (binary_expression "pcVar43 + 0x52c60" identifier + number_literal) )))) + number_literal) + (binary_expression "(int)puVar39 * 0x18" (cast_expression "(int)puVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))) , (cast_expression "(unifont_drawctx *)pxVar33" ( (type_descriptor "unifont_drawctx *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "xfont_00->fonts + iVar27" (field_expression "xfont_00->fonts" identifier -> field_identifier) + identifier) , (cast_expression "(int)x" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)piVar36" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier , identifier , (field_expression "xfont_00->variable" identifier -> field_identifier) , (binary_expression "iVar7 * iStack_150" identifier * identifier) ))) ;) (expression_statement "(**(code **)(pcVar43 + 0x52c78))(pcVar8);" (call_expression "(**(code **)(pcVar43 + 0x52c78))(pcVar8)" (parenthesized_expression "(**(code **)(pcVar43 + 0x52c78))" ( (pointer_expression "**(code **)(pcVar43 + 0x52c78)" * (pointer_expression "*(code **)(pcVar43 + 0x52c78)" * (cast_expression "(code **)(pcVar43 + 0x52c78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x52c78)" ( (binary_expression "pcVar43 + 0x52c78" identifier + number_literal) ))))) )) (argument_list "(pcVar8)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "code * FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  int *piVar11;\n  uint *puVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  int *piVar25;\n  int iVar26;\n  int iVar27;\n  int *piVar28;\n  char *pcVar29;\n  int *piVar30;\n  code *pcVar31;\n  int *piVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  int *piVar35;\n  uint *puVar36;\n  int *piVar37;\n  undefined4 *puVar38;\n  undefined4 uVar39;\n  int *piVar40;\n  int unaff_s6;\n  int iVar41;\n  undefined4 *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  undefined4 *puStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  code *pcStack_b4;\n  code *pcStack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  code *pcStack_a4;\n  undefined4 *puStack_a0;\n  int *piStack_9c;\n  int iStack_98;\n  int local_6c;\n  int local_68;\n  int local_64;\n  uint local_60;\n  undefined4 local_5c;\n  undefined *local_58;\n  int local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  int local_28;\n  code *local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(code **)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  uVar39 = *(undefined4 *)(param_1 + 0x20);\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);\n  piVar30 = &local_28;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }\n  uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);\n  puVar8 = PTR_safefree_000b5210;\n  pcVar24 = (code *)(param_2 * 0x34 + param_1);\n  *(undefined4 *)(pcVar24 + 0x20) = uVar6;\n  *(undefined4 *)(pcVar24 + 0x24) = 1;\n  (*(code *)puVar8)(uVar5);\n  pcVar9 = *(code **)puVar3;\n  if (local_24 == pcVar9) {\n    return pcVar9;\n  }\n  puVar8 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  local_58 = puVar3;\n  piVar35 = *(int **)(puVar8 + 0x54650);\n  local_64 = *piVar35;\n  piVar28 = piVar30;\n  local_60 = param_2;\n  local_5c = uVar5;\n  local_54 = param_1;\n  local_50 = uVar4;\n  local_4c = uVar39;\n  uVar4 = (**(code **)(puVar8 + 0x543f4))();\n  uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);\n  pcVar9 = pcVar24;\n  pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);\n  pcVar31 = pcVar10;\n  if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }\nLAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }\n  pcVar10 = *(code **)(puVar8 + 0x542f4);\n  (*pcVar10)();\n  piVar11 = *(int **)(pcVar10 + 0x5445c);\n  piVar32 = (int *)0x8000;\n  pcStack_b4 = (code *)*piVar11;\n  pcStack_b0 = pcVar31;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar35;\n  pcStack_a4 = pcVar24;\n  puStack_a0 = param_4;\n  piStack_9c = piVar30;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar10 + 0x54200))();\n  uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar10 + 0x53578);\n  while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }\n  piVar32 = (int *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }\n  (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  (**(code **)(pcVar10 + 0x53574))();\n  pcVar9 = (code *)*piVar11;\n  if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }\n  pcVar24 = *(code **)(pcVar10 + 0x54100);\n  (*pcVar24)();\n  iVar13 = *piVar32;\n  iVar18 = iStack_154 - piVar25[0x40];\n  pcVar9 = (code *)0x1;\n  iVar7 = iStack_158 - piVar25[0x3f];\n  if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }\n  iVar22 = iVar7 * 2;\n  if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }\n  if (iVar27 == 0) {\n    return pcVar9;\n  }\nLAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }\n  uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);\n  FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);\n                    \n                    \n  pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);\n  return pcVar9;\n}\n\n" (function_definition "code * FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  int *piVar11;\n  uint *puVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  int *piVar25;\n  int iVar26;\n  int iVar27;\n  int *piVar28;\n  char *pcVar29;\n  int *piVar30;\n  code *pcVar31;\n  int *piVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  int *piVar35;\n  uint *puVar36;\n  int *piVar37;\n  undefined4 *puVar38;\n  undefined4 uVar39;\n  int *piVar40;\n  int unaff_s6;\n  int iVar41;\n  undefined4 *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  undefined4 *puStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  code *pcStack_b4;\n  code *pcStack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  code *pcStack_a4;\n  undefined4 *puStack_a0;\n  int *piStack_9c;\n  int iStack_98;\n  int local_6c;\n  int local_68;\n  int local_64;\n  uint local_60;\n  undefined4 local_5c;\n  undefined *local_58;\n  int local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  int local_28;\n  code *local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(code **)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  uVar39 = *(undefined4 *)(param_1 + 0x20);\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);\n  piVar30 = &local_28;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }\n  uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);\n  puVar8 = PTR_safefree_000b5210;\n  pcVar24 = (code *)(param_2 * 0x34 + param_1);\n  *(undefined4 *)(pcVar24 + 0x20) = uVar6;\n  *(undefined4 *)(pcVar24 + 0x24) = 1;\n  (*(code *)puVar8)(uVar5);\n  pcVar9 = *(code **)puVar3;\n  if (local_24 == pcVar9) {\n    return pcVar9;\n  }\n  puVar8 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  local_58 = puVar3;\n  piVar35 = *(int **)(puVar8 + 0x54650);\n  local_64 = *piVar35;\n  piVar28 = piVar30;\n  local_60 = param_2;\n  local_5c = uVar5;\n  local_54 = param_1;\n  local_50 = uVar4;\n  local_4c = uVar39;\n  uVar4 = (**(code **)(puVar8 + 0x543f4))();\n  uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);\n  pcVar9 = pcVar24;\n  pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);\n  pcVar31 = pcVar10;\n  if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }\nLAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }\n  pcVar10 = *(code **)(puVar8 + 0x542f4);\n  (*pcVar10)();\n  piVar11 = *(int **)(pcVar10 + 0x5445c);\n  piVar32 = (int *)0x8000;\n  pcStack_b4 = (code *)*piVar11;\n  pcStack_b0 = pcVar31;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar35;\n  pcStack_a4 = pcVar24;\n  puStack_a0 = param_4;\n  piStack_9c = piVar30;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar10 + 0x54200))();\n  uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar10 + 0x53578);\n  while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }\n  piVar32 = (int *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }\n  (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  (**(code **)(pcVar10 + 0x53574))();\n  pcVar9 = (code *)*piVar11;\n  if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }\n  pcVar24 = *(code **)(pcVar10 + 0x54100);\n  (*pcVar24)();\n  iVar13 = *piVar32;\n  iVar18 = iStack_154 - piVar25[0x40];\n  pcVar9 = (code *)0x1;\n  iVar7 = iStack_158 - piVar25[0x3f];\n  if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }\n  iVar22 = iVar7 * 2;\n  if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }\n  if (iVar27 == 0) {\n    return pcVar9;\n  }\nLAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }\n  uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);\n  FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);\n                    \n                    \n  pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);\n  return pcVar9;\n}" type_identifier (pointer_declarator "* FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)" * (function_declarator "FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)" identifier (parameter_list "(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  int *piVar11;\n  uint *puVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  int *piVar25;\n  int iVar26;\n  int iVar27;\n  int *piVar28;\n  char *pcVar29;\n  int *piVar30;\n  code *pcVar31;\n  int *piVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  int *piVar35;\n  uint *puVar36;\n  int *piVar37;\n  undefined4 *puVar38;\n  undefined4 uVar39;\n  int *piVar40;\n  int unaff_s6;\n  int iVar41;\n  undefined4 *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  undefined4 *puStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  code *pcStack_b4;\n  code *pcStack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  code *pcStack_a4;\n  undefined4 *puStack_a0;\n  int *piStack_9c;\n  int iStack_98;\n  int local_6c;\n  int local_68;\n  int local_64;\n  uint local_60;\n  undefined4 local_5c;\n  undefined *local_58;\n  int local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  int local_28;\n  code *local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(code **)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  uVar39 = *(undefined4 *)(param_1 + 0x20);\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);\n  piVar30 = &local_28;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }\n  uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);\n  puVar8 = PTR_safefree_000b5210;\n  pcVar24 = (code *)(param_2 * 0x34 + param_1);\n  *(undefined4 *)(pcVar24 + 0x20) = uVar6;\n  *(undefined4 *)(pcVar24 + 0x24) = 1;\n  (*(code *)puVar8)(uVar5);\n  pcVar9 = *(code **)puVar3;\n  if (local_24 == pcVar9) {\n    return pcVar9;\n  }\n  puVar8 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  local_58 = puVar3;\n  piVar35 = *(int **)(puVar8 + 0x54650);\n  local_64 = *piVar35;\n  piVar28 = piVar30;\n  local_60 = param_2;\n  local_5c = uVar5;\n  local_54 = param_1;\n  local_50 = uVar4;\n  local_4c = uVar39;\n  uVar4 = (**(code **)(puVar8 + 0x543f4))();\n  uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);\n  pcVar9 = pcVar24;\n  pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);\n  pcVar31 = pcVar10;\n  if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }\nLAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }\n  pcVar10 = *(code **)(puVar8 + 0x542f4);\n  (*pcVar10)();\n  piVar11 = *(int **)(pcVar10 + 0x5445c);\n  piVar32 = (int *)0x8000;\n  pcStack_b4 = (code *)*piVar11;\n  pcStack_b0 = pcVar31;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar35;\n  pcStack_a4 = pcVar24;\n  puStack_a0 = param_4;\n  piStack_9c = piVar30;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar10 + 0x54200))();\n  uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar10 + 0x53578);\n  while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }\n  piVar32 = (int *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }\n  (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  (**(code **)(pcVar10 + 0x53574))();\n  pcVar9 = (code *)*piVar11;\n  if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }\n  pcVar24 = *(code **)(pcVar10 + 0x54100);\n  (*pcVar24)();\n  iVar13 = *piVar32;\n  iVar18 = iStack_154 - piVar25[0x40];\n  pcVar9 = (code *)0x1;\n  iVar7 = iStack_158 - piVar25[0x3f];\n  if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }\n  iVar22 = iVar7 * 2;\n  if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }\n  if (iVar27 == 0) {\n    return pcVar9;\n  }\nLAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }\n  uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);\n  FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);\n                    \n                    \n  pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);\n  return pcVar9;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "int *piVar28;" primitive_type (pointer_declarator "*piVar28" * identifier) ;) (declaration "char *pcVar29;" primitive_type (pointer_declarator "*pcVar29" * identifier) ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "int *piVar32;" primitive_type (pointer_declarator "*piVar32" * identifier) ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "undefined1 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "int *piVar35;" primitive_type (pointer_declarator "*piVar35" * identifier) ;) (declaration "uint *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "int *piVar37;" primitive_type (pointer_declarator "*piVar37" * identifier) ;) (declaration "undefined4 *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "undefined4 uVar39;" type_identifier identifier ;) (declaration "int *piVar40;" primitive_type (pointer_declarator "*piVar40" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "undefined4 *in_stack_fffffea0;" type_identifier (pointer_declarator "*in_stack_fffffea0" * identifier) ;) (declaration "undefined1 *in_stack_fffffea4;" type_identifier (pointer_declarator "*in_stack_fffffea4" * identifier) ;) (declaration "int iStack_158;" primitive_type identifier ;) (declaration "int iStack_154;" primitive_type identifier ;) (declaration "int iStack_150;" primitive_type identifier ;) (declaration "undefined4 *puStack_f4;" type_identifier (pointer_declarator "*puStack_f4" * identifier) ;) (declaration "int iStack_ec;" primitive_type identifier ;) (declaration "int iStack_b8;" primitive_type identifier ;) (declaration "code *pcStack_b4;" type_identifier (pointer_declarator "*pcStack_b4" * identifier) ;) (declaration "code *pcStack_b0;" type_identifier (pointer_declarator "*pcStack_b0" * identifier) ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "int *piStack_a8;" primitive_type (pointer_declarator "*piStack_a8" * identifier) ;) (declaration "code *pcStack_a4;" type_identifier (pointer_declarator "*pcStack_a4" * identifier) ;) (declaration "undefined4 *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "int *piStack_9c;" primitive_type (pointer_declarator "*piStack_9c" * identifier) ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "code *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000b60f8;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000b60f8" identifier = identifier) ;) (expression_statement "local_24 = *(code **)PTR___stack_chk_guard_000b60f8;" (assignment_expression "local_24 = *(code **)PTR___stack_chk_guard_000b60f8" identifier = (pointer_expression "*(code **)PTR___stack_chk_guard_000b60f8" * (cast_expression "(code **)PTR___stack_chk_guard_000b60f8" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();" (assignment_expression "uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)()" identifier = (call_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)()" (parenthesized_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)" ( (pointer_expression "*(code *)PTR_gdk_display_get_default_000b5e9c" * (cast_expression "(code *)PTR_gdk_display_get_default_000b5e9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);" (assignment_expression "uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4)" identifier = (call_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4)" (parenthesized_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)" ( (pointer_expression "*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" * (cast_expression "(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "uVar39 = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "uVar39 = *(undefined4 *)(param_1 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();" (assignment_expression "uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)()" identifier = (call_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)()" (parenthesized_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)" ( (pointer_expression "*(code *)PTR_gdk_display_get_default_000b5e9c" * (cast_expression "(code *)PTR_gdk_display_get_default_000b5e9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);" (assignment_expression "uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5)" identifier = (call_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5)" (parenthesized_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)" ( (pointer_expression "*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" * (cast_expression "(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);" (assignment_expression "uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0)" identifier = (call_expression "(*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0)" (parenthesized_expression "(*(code *)PTR_XInternAtom_000b5f60)" ( (pointer_expression "*(code *)PTR_XInternAtom_000b5f60" * (cast_expression "(code *)PTR_XInternAtom_000b5f60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,PTR_DAT_000b5230 + 0x17d0,0)" ( identifier , (binary_expression "PTR_DAT_000b5230 + 0x17d0" identifier + number_literal) , number_literal )))) ;) (expression_statement "piVar30 = &local_28;" (assignment_expression "piVar30 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (expression_statement "iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);" (assignment_expression "iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6)" identifier = (call_expression "(*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6)" (parenthesized_expression "(*(code *)PTR_XGetFontProperty_000b61b8)" ( (pointer_expression "*(code *)PTR_XGetFontProperty_000b61b8" * (cast_expression "(code *)PTR_XGetFontProperty_000b61b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar39,uVar6)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00061a2c:\n    uVar5 = 0;\n  }" { (labeled_statement "LAB_00061a2c:\n    uVar5 = 0;" statement_identifier : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }" else (compound_statement "{\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }" { (expression_statement "uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);" (assignment_expression "uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28)" identifier = (call_expression "(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28)" (parenthesized_expression "(*(code *)PTR_XGetAtomName_000b5a50)" ( (pointer_expression "*(code *)PTR_XGetAtomName_000b5a50" * (cast_expression "(code *)PTR_XGetAtomName_000b5a50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,local_28)" ( identifier , identifier )))) ;) (expression_statement "iVar7 = FUN_0006116c(uVar5);" (assignment_expression "iVar7 = FUN_0006116c(uVar5)" identifier = (call_expression "FUN_0006116c(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00061a2c;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00061a2c;" goto statement_identifier ;)) (if_statement "if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }" if (parenthesized_expression "((param_2 & 1) != 0)" ( (binary_expression "(param_2 & 1) != 0" (parenthesized_expression "(param_2 & 1)" ( (binary_expression "param_2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }" { (expression_statement "*(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;" (assignment_expression "*(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c" (pointer_expression "*(undefined **)(iVar7 + 8)" * (cast_expression "(undefined **)(iVar7 + 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "PTR_s_XXXXXXXXXX___________000b5214 + -0x503c" identifier + number_literal)) ;) })) (if_statement "if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }" if (parenthesized_expression "((param_2 & 2) != 0)" ( (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" ( (binary_expression "param_2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }" { (expression_statement "puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;" (assignment_expression "puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680" identifier = (binary_expression "PTR_s_XXXXXXXXXX___________000b5214 + -0x3680" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;" (assignment_expression "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" * (cast_expression "(int *)(iVar7 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar7 + 0x2c) << 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" * (cast_expression "(int *)(iVar7 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) )))) << number_literal)) ;) (expression_statement "*(undefined **)(iVar7 + 0x14) = puVar8;" (assignment_expression "*(undefined **)(iVar7 + 0x14) = puVar8" (pointer_expression "*(undefined **)(iVar7 + 0x14)" * (cast_expression "(undefined **)(iVar7 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(iVar7 + 0x10) = puVar8;" (assignment_expression "*(undefined **)(iVar7 + 0x10) = puVar8" (pointer_expression "*(undefined **)(iVar7 + 0x10)" * (cast_expression "(undefined **)(iVar7 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar5 = FUN_0006137c(iVar7);" (assignment_expression "uVar5 = FUN_0006137c(iVar7)" identifier = (call_expression "FUN_0006137c(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_safefree_000b5210)(iVar7);" (call_expression "(*(code *)PTR_safefree_000b5210)(iVar7)" (parenthesized_expression "(*(code *)PTR_safefree_000b5210)" ( (pointer_expression "*(code *)PTR_safefree_000b5210" * (cast_expression "(code *)PTR_safefree_000b5210" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) }))) (expression_statement "uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);" (assignment_expression "uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5)" identifier = (call_expression "(*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5)" (parenthesized_expression "(*(code *)PTR_XLoadQueryFont_000b5aec)" ( (pointer_expression "*(code *)PTR_XLoadQueryFont_000b5aec" * (cast_expression "(code *)PTR_XLoadQueryFont_000b5aec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4,uVar5)" ( identifier , identifier )))) ;) (expression_statement "puVar8 = PTR_safefree_000b5210;" (assignment_expression "puVar8 = PTR_safefree_000b5210" identifier = identifier) ;) (expression_statement "pcVar24 = (code *)(param_2 * 0x34 + param_1);" (assignment_expression "pcVar24 = (code *)(param_2 * 0x34 + param_1)" identifier = (cast_expression "(code *)(param_2 * 0x34 + param_1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 * 0x34 + param_1)" ( (binary_expression "param_2 * 0x34 + param_1" (binary_expression "param_2 * 0x34" identifier * number_literal) + identifier) )))) ;) (expression_statement "*(undefined4 *)(pcVar24 + 0x20) = uVar6;" (assignment_expression "*(undefined4 *)(pcVar24 + 0x20) = uVar6" (pointer_expression "*(undefined4 *)(pcVar24 + 0x20)" * (cast_expression "(undefined4 *)(pcVar24 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x20)" ( (binary_expression "pcVar24 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar24 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(pcVar24 + 0x24) = 1" (pointer_expression "*(undefined4 *)(pcVar24 + 0x24)" * (cast_expression "(undefined4 *)(pcVar24 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x24)" ( (binary_expression "pcVar24 + 0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)puVar8)(uVar5);" (call_expression "(*(code *)puVar8)(uVar5)" (parenthesized_expression "(*(code *)puVar8)" ( (pointer_expression "*(code *)puVar8" * (cast_expression "(code *)puVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "pcVar9 = *(code **)puVar3;" (assignment_expression "pcVar9 = *(code **)puVar3" identifier = (pointer_expression "*(code **)puVar3" * (cast_expression "(code **)puVar3" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (local_24 == pcVar9) {\n    return pcVar9;\n  }" if (parenthesized_expression "(local_24 == pcVar9)" ( (binary_expression "local_24 == pcVar9" identifier == identifier) )) (compound_statement "{\n    return pcVar9;\n  }" { (return_statement "return pcVar9;" return identifier ;) })) (expression_statement "puVar8 = PTR___stack_chk_fail_000b5d9c;" (assignment_expression "puVar8 = PTR___stack_chk_fail_000b5d9c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b5d9c)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b5d9c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b5d9c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b5d9c" * (cast_expression "(code *)PTR___stack_chk_fail_000b5d9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_58 = puVar3;" (assignment_expression "local_58 = puVar3" identifier = identifier) ;) (expression_statement "piVar35 = *(int **)(puVar8 + 0x54650);" (assignment_expression "piVar35 = *(int **)(puVar8 + 0x54650)" identifier = (pointer_expression "*(int **)(puVar8 + 0x54650)" * (cast_expression "(int **)(puVar8 + 0x54650)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x54650)" ( (binary_expression "puVar8 + 0x54650" identifier + number_literal) ))))) ;) (expression_statement "local_64 = *piVar35;" (assignment_expression "local_64 = *piVar35" identifier = (pointer_expression "*piVar35" * identifier)) ;) (expression_statement "piVar28 = piVar30;" (assignment_expression "piVar28 = piVar30" identifier = identifier) ;) (expression_statement "local_60 = param_2;" (assignment_expression "local_60 = param_2" identifier = identifier) ;) (expression_statement "local_5c = uVar5;" (assignment_expression "local_5c = uVar5" identifier = identifier) ;) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" identifier = identifier) ;) (expression_statement "local_50 = uVar4;" (assignment_expression "local_50 = uVar4" identifier = identifier) ;) (expression_statement "local_4c = uVar39;" (assignment_expression "local_4c = uVar39" identifier = identifier) ;) (expression_statement "uVar4 = (**(code **)(puVar8 + 0x543f4))();" (assignment_expression "uVar4 = (**(code **)(puVar8 + 0x543f4))()" identifier = (call_expression "(**(code **)(puVar8 + 0x543f4))()" (parenthesized_expression "(**(code **)(puVar8 + 0x543f4))" ( (pointer_expression "**(code **)(puVar8 + 0x543f4)" * (pointer_expression "*(code **)(puVar8 + 0x543f4)" * (cast_expression "(code **)(puVar8 + 0x543f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x543f4)" ( (binary_expression "puVar8 + 0x543f4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);" (assignment_expression "uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4)" identifier = (call_expression "(**(code **)(puVar8 + 0x53fa0))(uVar4)" (parenthesized_expression "(**(code **)(puVar8 + 0x53fa0))" ( (pointer_expression "**(code **)(puVar8 + 0x53fa0)" * (pointer_expression "*(code **)(puVar8 + 0x53fa0)" * (cast_expression "(code **)(puVar8 + 0x53fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x53fa0)" ( (binary_expression "puVar8 + 0x53fa0" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "pcVar9 = pcVar24;" (assignment_expression "pcVar9 = pcVar24" identifier = identifier) ;) (expression_statement "pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);" (assignment_expression "pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4)" identifier = (cast_expression "(code *)(**(code **)(puVar8 + 0x54044))(uVar4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar8 + 0x54044))(uVar4)" (parenthesized_expression "(**(code **)(puVar8 + 0x54044))" ( (pointer_expression "**(code **)(puVar8 + 0x54044)" * (pointer_expression "*(code **)(puVar8 + 0x54044)" * (cast_expression "(code **)(puVar8 + 0x54044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x54044)" ( (binary_expression "puVar8 + 0x54044" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier ))))) ;) (expression_statement "pcVar31 = pcVar10;" (assignment_expression "pcVar31 = pcVar10" identifier = identifier) ;) (if_statement "if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }" if (parenthesized_expression "(pcVar10 != (code *)0x0)" ( (binary_expression "pcVar10 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);" (assignment_expression "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0)" identifier = (call_expression "(**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0)" (parenthesized_expression "(**(code **)(puVar8 + 0x544b8))" ( (pointer_expression "**(code **)(puVar8 + 0x544b8)" * (pointer_expression "*(code **)(puVar8 + 0x544b8)" * (cast_expression "(code **)(puVar8 + 0x544b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x544b8)" ( (binary_expression "puVar8 + 0x544b8" identifier + number_literal) ))))) )) (argument_list "(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x53788) + 0x17d0" (pointer_expression "*(int *)(puVar8 + 0x53788)" * (cast_expression "(int *)(puVar8 + 0x53788)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x53788)" ( (binary_expression "puVar8 + 0x53788" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "piVar28 = &local_6c;" (assignment_expression "piVar28 = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;) (expression_statement "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);" (assignment_expression "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" identifier = (call_expression "(**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" (parenthesized_expression "(**(code **)(puVar8 + 0x54710))" ( (pointer_expression "**(code **)(puVar8 + 0x54710)" * (pointer_expression "*(code **)(puVar8 + 0x54710)" * (cast_expression "(code **)(puVar8 + 0x54710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x54710)" ( (binary_expression "puVar8 + 0x54710" identifier + number_literal) ))))) )) (argument_list "(pcVar10,uVar5)" ( identifier , identifier )))) ;) (if_statement "if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }" if (parenthesized_expression "((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))" ( (binary_expression "(iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0)" ( (comma_expression "unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0" (assignment_expression "unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c)" identifier = (call_expression "(**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c)" (parenthesized_expression "(**(code **)(puVar8 + 0x53fa8))" ( (pointer_expression "**(code **)(puVar8 + 0x53fa8)" * (pointer_expression "*(code **)(puVar8 + 0x53fa8)" * (cast_expression "(code **)(puVar8 + 0x53fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x53fa8)" ( (binary_expression "puVar8 + 0x53fa8" identifier + number_literal) ))))) )) (argument_list "(uVar4,local_6c)" ( identifier , identifier )))) , (binary_expression "unaff_s6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }" { (expression_statement "local_68 = 0xc;" (assignment_expression "local_68 = 0xc" identifier = number_literal) ;) (expression_statement "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);" (assignment_expression "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0)" identifier = (call_expression "(**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0)" (parenthesized_expression "(**(code **)(puVar8 + 0x544b8))" ( (pointer_expression "**(code **)(puVar8 + 0x544b8)" * (pointer_expression "*(code **)(puVar8 + 0x544b8)" * (cast_expression "(code **)(puVar8 + 0x544b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x544b8)" ( (binary_expression "puVar8 + 0x544b8" identifier + number_literal) ))))) )) (argument_list "(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x5376c) + -0x367c" (pointer_expression "*(int *)(puVar8 + 0x5376c)" * (cast_expression "(int *)(puVar8 + 0x5376c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x5376c)" ( (binary_expression "puVar8 + 0x5376c" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "piVar28 = &local_68;" (assignment_expression "piVar28 = &local_68" identifier = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);" (assignment_expression "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" identifier = (call_expression "(**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" (parenthesized_expression "(**(code **)(puVar8 + 0x54710))" ( (pointer_expression "**(code **)(puVar8 + 0x54710)" * (pointer_expression "*(code **)(puVar8 + 0x54710)" * (cast_expression "(code **)(puVar8 + 0x54710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x54710)" ( (binary_expression "puVar8 + 0x54710" identifier + number_literal) ))))) )) (argument_list "(pcVar10,uVar5)" ( identifier , identifier )))) ;) (if_statement "if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }" if (parenthesized_expression "((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0))" ( (binary_expression "(iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)" ( (comma_expression "pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x546c4)" identifier = (pointer_expression "*(code **)(puVar8 + 0x546c4)" * (cast_expression "(code **)(puVar8 + 0x546c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x546c4)" ( (binary_expression "puVar8 + 0x546c4" identifier + number_literal) ))))) , (binary_expression "local_68 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }" { (expression_statement "*piVar30 = local_68;" (assignment_expression "*piVar30 = local_68" (pointer_expression "*piVar30" * identifier) = identifier) ;) (expression_statement "(*pcVar9)(uVar4);" (call_expression "(*pcVar9)(uVar4)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(uVar4)" ( identifier ))) ;) (if_statement "if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }" if (parenthesized_expression "(param_4 != (undefined4 *)0x0)" ( (binary_expression "param_4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *param_4 = 2;\n        }" { (expression_statement "*param_4 = 2;" (assignment_expression "*param_4 = 2" (pointer_expression "*param_4" * identifier) = number_literal) ;) })) (expression_statement "pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);" (assignment_expression "pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6)" identifier = (cast_expression "(code *)(**(code **)(puVar8 + 0x53790))(unaff_s6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar8 + 0x53790))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar8 + 0x53790))" ( (pointer_expression "**(code **)(puVar8 + 0x53790)" * (pointer_expression "*(code **)(puVar8 + 0x53790)" * (cast_expression "(code **)(puVar8 + 0x53790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x53790)" ( (binary_expression "puVar8 + 0x53790" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier ))))) ;) (expression_statement "pcVar9 = pcVar10;" (assignment_expression "pcVar9 = pcVar10" identifier = identifier) ;) (goto_statement "goto LAB_00061bec;" goto statement_identifier ;) })) })) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar8 + 0x546c4))(uVar4);" (call_expression "(**(code **)(puVar8 + 0x546c4))(uVar4)" (parenthesized_expression "(**(code **)(puVar8 + 0x546c4))" ( (pointer_expression "**(code **)(puVar8 + 0x546c4)" * (pointer_expression "*(code **)(puVar8 + 0x546c4)" * (cast_expression "(code **)(puVar8 + 0x546c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x546c4)" ( (binary_expression "puVar8 + 0x546c4" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "pcVar9 = pcVar10;" (assignment_expression "pcVar9 = pcVar10" identifier = identifier) ;) })) (labeled_statement "LAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }" statement_identifier : (if_statement "if (local_64 == *piVar35) {\n    return pcVar31;\n  }" if (parenthesized_expression "(local_64 == *piVar35)" ( (binary_expression "local_64 == *piVar35" identifier == (pointer_expression "*piVar35" * identifier)) )) (compound_statement "{\n    return pcVar31;\n  }" { (return_statement "return pcVar31;" return identifier ;) }))) (expression_statement "pcVar10 = *(code **)(puVar8 + 0x542f4);" (assignment_expression "pcVar10 = *(code **)(puVar8 + 0x542f4)" identifier = (pointer_expression "*(code **)(puVar8 + 0x542f4)" * (cast_expression "(code **)(puVar8 + 0x542f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x542f4)" ( (binary_expression "puVar8 + 0x542f4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar11 = *(int **)(pcVar10 + 0x5445c);" (assignment_expression "piVar11 = *(int **)(pcVar10 + 0x5445c)" identifier = (pointer_expression "*(int **)(pcVar10 + 0x5445c)" * (cast_expression "(int **)(pcVar10 + 0x5445c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x5445c)" ( (binary_expression "pcVar10 + 0x5445c" identifier + number_literal) ))))) ;) (expression_statement "piVar32 = (int *)0x8000;" (assignment_expression "piVar32 = (int *)0x8000" identifier = (cast_expression "(int *)0x8000" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_b4 = (code *)*piVar11;" (assignment_expression "pcStack_b4 = (code *)*piVar11" identifier = (cast_expression "(code *)*piVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) (expression_statement "pcStack_b0 = pcVar31;" (assignment_expression "pcStack_b0 = pcVar31" identifier = identifier) ;) (expression_statement "uStack_ac = uVar4;" (assignment_expression "uStack_ac = uVar4" identifier = identifier) ;) (expression_statement "piStack_a8 = piVar35;" (assignment_expression "piStack_a8 = piVar35" identifier = identifier) ;) (expression_statement "pcStack_a4 = pcVar24;" (assignment_expression "pcStack_a4 = pcVar24" identifier = identifier) ;) (expression_statement "puStack_a0 = param_4;" (assignment_expression "puStack_a0 = param_4" identifier = identifier) ;) (expression_statement "piStack_9c = piVar30;" (assignment_expression "piStack_9c = piVar30" identifier = identifier) ;) (expression_statement "iStack_98 = unaff_s6;" (assignment_expression "iStack_98 = unaff_s6" identifier = identifier) ;) (expression_statement "uVar4 = (**(code **)(pcVar10 + 0x54200))();" (assignment_expression "uVar4 = (**(code **)(pcVar10 + 0x54200))()" identifier = (call_expression "(**(code **)(pcVar10 + 0x54200))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x54200))" ( (pointer_expression "**(code **)(pcVar10 + 0x54200)" * (pointer_expression "*(code **)(pcVar10 + 0x54200)" * (cast_expression "(code **)(pcVar10 + 0x54200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54200)" ( (binary_expression "pcVar10 + 0x54200" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);" (assignment_expression "uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53dac))(uVar4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53dac))" ( (pointer_expression "**(code **)(pcVar10 + 0x53dac)" * (pointer_expression "*(code **)(pcVar10 + 0x53dac)" * (cast_expression "(code **)(pcVar10 + 0x53dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53dac)" ( (binary_expression "pcVar10 + 0x53dac" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar7 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }" { (expression_statement "piVar30 = piVar32;" (assignment_expression "piVar30 = piVar32" identifier = identifier) ;) (expression_statement "piVar35 = &iStack_b8;" (assignment_expression "piVar35 = &iStack_b8" identifier = (pointer_expression "&iStack_b8" & identifier)) ;) (expression_statement "puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);" (assignment_expression "puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32)" identifier = (cast_expression "(uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54470))" ( (pointer_expression "**(code **)(pcVar10 + 0x54470)" * (pointer_expression "*(code **)(pcVar10 + 0x54470)" * (cast_expression "(code **)(pcVar10 + 0x54470)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54470)" ( (binary_expression "pcVar10 + 0x54470" identifier + number_literal) ))))) )) (argument_list "(uVar4,iVar7 + -0x3680,piVar32)" ( identifier , (binary_expression "iVar7 + -0x3680" identifier + number_literal) , identifier ))))) ;) (expression_statement "piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);" (assignment_expression "piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32)" identifier = (cast_expression "(int *)(uint)(iStack_b8 < (int)piVar32)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iStack_b8 < (int)piVar32)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iStack_b8 < (int)piVar32)" ( (binary_expression "iStack_b8 < (int)piVar32" identifier < (cast_expression "(int)piVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (piVar25 != (int *)0x0) break;" if (parenthesized_expression "(piVar25 != (int *)0x0)" ( (binary_expression "piVar25 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "piVar32 = (int *)((int)piVar32 << 1);" (assignment_expression "piVar32 = (int *)((int)piVar32 << 1)" identifier = (cast_expression "(int *)((int)piVar32 << 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar32 << 1)" ( (binary_expression "(int)piVar32 << 1" (cast_expression "(int)piVar32" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "(**(code **)(pcVar10 + 0x544e0))(puVar12);" (call_expression "(**(code **)(pcVar10 + 0x544e0))(puVar12)" (parenthesized_expression "(**(code **)(pcVar10 + 0x544e0))" ( (pointer_expression "**(code **)(pcVar10 + 0x544e0)" * (pointer_expression "*(code **)(pcVar10 + 0x544e0)" * (cast_expression "(code **)(pcVar10 + 0x544e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x544e0)" ( (binary_expression "pcVar10 + 0x544e0" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier ))) ;) })) (expression_statement "piVar32 = (int *)0x0;" (assignment_expression "piVar32 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }" if (parenthesized_expression "(0 < iStack_b8)" ( (binary_expression "0 < iStack_b8" number_literal < identifier) )) (compound_statement "{\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }" { (expression_statement "iVar7 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar7 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "iVar41 = 0;" (assignment_expression "iVar41 = 0" identifier = number_literal) ;) (expression_statement "iVar18 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar18 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "piVar32 = (int *)0x0;" (assignment_expression "piVar32 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar22 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar22 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar7 + -0x360c);" (assignment_expression "uVar4 = *(undefined4 *)(iVar7 + -0x360c)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + -0x360c)" * (cast_expression "(undefined4 *)(iVar7 + -0x360c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x360c)" ( (binary_expression "iVar7 + -0x360c" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = *(int *)(pcVar10 + 0x5355c);" (assignment_expression "iVar26 = *(int *)(pcVar10 + 0x5355c)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x5355c)" * (cast_expression "(int *)(pcVar10 + 0x5355c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x5355c)" ( (binary_expression "pcVar10 + 0x5355c" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(pcVar10 + 0x53aac);" (assignment_expression "iVar13 = *(int *)(pcVar10 + 0x53aac)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53aac)" * (cast_expression "(int *)(pcVar10 + 0x53aac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53aac)" ( (binary_expression "pcVar10 + 0x53aac" identifier + number_literal) ))))) ;) (expression_statement "iStack_ec = 0;" (assignment_expression "iStack_ec = 0" identifier = number_literal) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar18 + -0x3614);" (assignment_expression "uVar5 = *(undefined4 *)(iVar18 + -0x3614)" identifier = (pointer_expression "*(undefined4 *)(iVar18 + -0x3614)" * (cast_expression "(undefined4 *)(iVar18 + -0x3614)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -0x3614)" ( (binary_expression "iVar18 + -0x3614" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar27 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(iVar22 + -0x362c);" (assignment_expression "uVar6 = *(undefined4 *)(iVar22 + -0x362c)" identifier = (pointer_expression "*(undefined4 *)(iVar22 + -0x362c)" * (cast_expression "(undefined4 *)(iVar22 + -0x362c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x362c)" ( (binary_expression "iVar22 + -0x362c" identifier + number_literal) ))))) ;) (expression_statement "puVar36 = puVar12;" (assignment_expression "puVar36 = puVar12" identifier = identifier) ;) (do_statement "do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);" do (compound_statement "{\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    }" { (expression_statement "puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);" (assignment_expression "puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36)" identifier = (cast_expression "(undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar13 + 0x116c))(*puVar36)" (parenthesized_expression "(*(code *)(iVar13 + 0x116c))" ( (pointer_expression "*(code *)(iVar13 + 0x116c)" * (cast_expression "(code *)(iVar13 + 0x116c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x116c)" ( (binary_expression "iVar13 + 0x116c" identifier + number_literal) )))) )) (argument_list "(*puVar36)" ( (pointer_expression "*puVar36" * identifier) ))))) ;) (if_statement "if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }" if (parenthesized_expression "(puVar14 == (undefined4 *)0x0)" ( (binary_expression "puVar14 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }" { (expression_statement "piVar25 = (int *)*puVar36;" (assignment_expression "piVar25 = (int *)*puVar36" identifier = (cast_expression "(int *)*puVar36" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar36" * identifier))) ;) (expression_statement "piVar35 = (int *)0x0;" (assignment_expression "piVar35 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_150 = iVar26 + 0x4768;" (assignment_expression "iStack_150 = iVar26 + 0x4768" identifier = (binary_expression "iVar26 + 0x4768" identifier + number_literal)) ;) (expression_statement "iStack_154 = 4;" (assignment_expression "iStack_154 = 4" identifier = number_literal) ;) (expression_statement "iStack_158 = 0;" (assignment_expression "iStack_158 = 0" identifier = number_literal) ;) (expression_statement "in_stack_fffffea4 = (undefined1 *)0x0;" (assignment_expression "in_stack_fffffea4 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffea0 = (undefined4 *)0x0;" (assignment_expression "in_stack_fffffea0 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar30 = piVar25;" (assignment_expression "piVar30 = piVar25" identifier = identifier) ;) (expression_statement "(*pcVar9)(piVar28);" (call_expression "(*pcVar9)(piVar28)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar28)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar10 + 0x53574))(0);" (call_expression "(**(code **)(pcVar10 + 0x53574))(0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53574))" ( (pointer_expression "**(code **)(pcVar10 + 0x53574)" * (pointer_expression "*(code **)(pcVar10 + 0x53574)" * (cast_expression "(code **)(pcVar10 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53574)" ( (binary_expression "pcVar10 + 0x53574" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }" else (compound_statement "{\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }" { (expression_statement "iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);" (assignment_expression "iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54364))(*puVar36)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(*puVar36)" ( (pointer_expression "*puVar36" * identifier) )))) ;) (expression_statement "iVar15 = (iVar15 + 0x40) * 4;" (assignment_expression "iVar15 = (iVar15 + 0x40) * 4" identifier = (binary_expression "(iVar15 + 0x40) * 4" (parenthesized_expression "(iVar15 + 0x40)" ( (binary_expression "iVar15 + 0x40" identifier + number_literal) )) * number_literal)) ;) (if_statement "if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }" if (parenthesized_expression "(iStack_ec < iVar15)" ( (binary_expression "iStack_ec < iVar15" identifier < identifier) )) (compound_statement "{\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }" { (expression_statement "piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);" (assignment_expression "piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1)" identifier = (cast_expression "(int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1)" (parenthesized_expression "(**(code **)(pcVar10 + 0x5366c))" ( (pointer_expression "**(code **)(pcVar10 + 0x5366c)" * (pointer_expression "*(code **)(pcVar10 + 0x5366c)" * (cast_expression "(code **)(pcVar10 + 0x5366c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x5366c)" ( (binary_expression "pcVar10 + 0x5366c" identifier + number_literal) ))))) )) (argument_list "(piVar32,iVar15,1)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "iStack_ec = iVar15;" (assignment_expression "iStack_ec = iVar15" identifier = identifier) ;) })) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" ( (pointer_expression "**(code **)(pcVar10 + 0x54344)" * (pointer_expression "*(code **)(pcVar10 + 0x54344)" * (cast_expression "(code **)(pcVar10 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54344)" ( (binary_expression "pcVar10 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14)" ( identifier , number_literal , number_literal , (binary_expression "iVar27 + -0x3668" identifier + number_literal) , (subscript_expression "puVar14[1]" identifier [ number_literal ]) , (pointer_expression "*puVar14" * identifier) )))) ;) (expression_statement "piVar40 = (int *)((int)piVar32 + iVar16 + 1);" (assignment_expression "piVar40 = (int *)((int)piVar32 + iVar16 + 1)" identifier = (cast_expression "(int *)((int)piVar32 + iVar16 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar32 + iVar16 + 1)" ( (binary_expression "(int)piVar32 + iVar16 + 1" (binary_expression "(int)piVar32 + iVar16" (cast_expression "(int)piVar32" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd])" identifier = (call_expression "(**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" ( (pointer_expression "**(code **)(pcVar10 + 0x54344)" * (pointer_expression "*(code **)(pcVar10 + 0x54344)" * (cast_expression "(code **)(pcVar10 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54344)" ( (binary_expression "pcVar10 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd])" ( identifier , number_literal , number_literal , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3688" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , (subscript_expression "puVar14[0xc]" identifier [ number_literal ]) , (subscript_expression "puVar14[0xd]" identifier [ number_literal ]) )))) ;) (expression_statement "pcVar29 = (char *)puVar14[2];" (assignment_expression "pcVar29 = (char *)puVar14[2]" identifier = (cast_expression "(char *)puVar14[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[2]" identifier [ number_literal ]))) ;) (expression_statement "puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);" (assignment_expression "puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1)" identifier = (cast_expression "(undefined4 *)((int)piVar40 + iVar16 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar40 + iVar16 + 1)" ( (binary_expression "(int)piVar40 + iVar16 + 1" (binary_expression "(int)piVar40 + iVar16" (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }" if (parenthesized_expression "(*pcVar29 == '\0')" ( (binary_expression "*pcVar29 == '\0'" (pointer_expression "*pcVar29" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }" { (expression_statement "pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);" (assignment_expression "pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670)" identifier = (cast_expression "(char *)(*(int *)(pcVar10 + 0x53578) + -0x3670)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x3670)" ( (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3670" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54320))" ( (pointer_expression "**(code **)(pcVar10 + 0x54320)" * (pointer_expression "*(code **)(pcVar10 + 0x54320)" * (cast_expression "(code **)(pcVar10 + 0x54320)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54320)" ( (binary_expression "pcVar10 + 0x54320" identifier + number_literal) ))))) )) (argument_list "(puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29)" ( identifier , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x40d8" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar38 + iVar16);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar38 + iVar16)" identifier = (cast_expression "(undefined4 *)((int)puVar38 + iVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar38 + iVar16)" ( (binary_expression "(int)puVar38 + iVar16" (cast_expression "(int)puVar38" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3660" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" { (expression_statement "uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);" (assignment_expression "uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c)" * (cast_expression "(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x364c)" ( (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x364c" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);" (assignment_expression "*puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650)" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650)" * (cast_expression "(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x3650)" ( (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3650" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar33[1] = uVar39;" (assignment_expression "puVar33[1] = uVar39" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + 7);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + 7)" identifier = (cast_expression "(undefined4 *)((int)puVar33 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + 7)" ( (binary_expression "(int)puVar33 + 7" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];" statement_identifier : (expression_statement "pcVar29 = (char *)puVar14[4];" (assignment_expression "pcVar29 = (char *)puVar14[4]" identifier = (cast_expression "(char *)puVar14[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[4]" identifier [ number_literal ]))) ;)) (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar29 == '\0') goto LAB_00061ef8;" if (parenthesized_expression "(*pcVar29 == '\0')" ( (binary_expression "*pcVar29 == '\0'" (pointer_expression "*pcVar29" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00061ef8;" goto statement_identifier ;)) (labeled_statement "LAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);" statement_identifier : (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(pcVar29,iVar16 + -0x361c)" ( identifier , (binary_expression "iVar16 + -0x361c" identifier + number_literal) )))) ;)) (if_statement "if (iVar17 == 0) goto LAB_00061ef8;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00061ef8;" goto statement_identifier ;)) (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])" identifier = (call_expression "(**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" ( (pointer_expression "**(code **)(pcVar10 + 0x54344)" * (pointer_expression "*(code **)(pcVar10 + 0x54344)" * (cast_expression "(code **)(pcVar10 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54344)" ( (binary_expression "pcVar10 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])" ( identifier , number_literal , number_literal , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x12b0" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , (subscript_expression "puVar14[4]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + iVar17);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + iVar17)" identifier = (cast_expression "(undefined4 *)((int)puVar33 + iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + iVar17)" ( (binary_expression "(int)puVar33 + iVar17" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" ( (subscript_expression "puVar14[10]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x6dc4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar17 == 0) goto LAB_000622e8;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000622e8;" goto statement_identifier ;)) (labeled_statement "LAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);" statement_identifier : (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724)" ( (subscript_expression "puVar14[10]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x2724" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;)) (if_statement "if (iVar17 != 0) goto LAB_00061f30;" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00061f30;" goto statement_identifier ;)) (labeled_statement "LAB_00062324:\n          *puVar33 = uVar4;" statement_identifier : (expression_statement "*puVar33 = uVar4;" (assignment_expression "*puVar33 = uVar4" (pointer_expression "*puVar33" * identifier) = identifier) ;)) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);" (assignment_expression "*(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608)" (pointer_expression "*(undefined1 *)puVar33" * (cast_expression "(undefined1 *)puVar33" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(iVar7 + -0x3608)" * (cast_expression "(undefined1 *)(iVar7 + -0x3608)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x3608)" ( (binary_expression "iVar7 + -0x3608" identifier + number_literal) ))))) ;) (expression_statement "pcVar29 = (char *)puVar14[5];" (assignment_expression "pcVar29 = (char *)puVar14[5]" identifier = (cast_expression "(char *)puVar14[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[5]" identifier [ number_literal ]))) ;) (expression_statement "cVar1 = *pcVar29;" (assignment_expression "cVar1 = *pcVar29" identifier = (pointer_expression "*pcVar29" * identifier)) ;) (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" else (compound_statement "{\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" { (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x72bc" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }" { (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x365c" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }" { (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = *(undefined4 *)(iVar16 + -0x3654);" (assignment_expression "uVar23 = *(undefined4 *)(iVar16 + -0x3654)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x3654)" * (cast_expression "(undefined4 *)(iVar16 + -0x3654)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3654)" ( (binary_expression "iVar16 + -0x3654" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = *(undefined4 *)(iVar16 + -0x3650);" (assignment_expression "uVar19 = *(undefined4 *)(iVar16 + -0x3650)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x3650)" * (cast_expression "(undefined4 *)(iVar16 + -0x3650)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3650)" ( (binary_expression "iVar16 + -0x3650" identifier + number_literal) ))))) ;) (expression_statement "uVar39 = *(undefined4 *)(iVar16 + -0x364c);" (assignment_expression "uVar39 = *(undefined4 *)(iVar16 + -0x364c)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x364c)" * (cast_expression "(undefined4 *)(iVar16 + -0x364c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x364c)" ( (binary_expression "iVar16 + -0x364c" identifier + number_literal) ))))) ;) (expression_statement "*puVar33 = *(undefined4 *)(iVar16 + -0x3658);" (assignment_expression "*puVar33 = *(undefined4 *)(iVar16 + -0x3658)" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*(undefined4 *)(iVar16 + -0x3658)" * (cast_expression "(undefined4 *)(iVar16 + -0x3658)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3658)" ( (binary_expression "iVar16 + -0x3658" identifier + number_literal) ))))) ;) (expression_statement "puVar33[1] = uVar23;" (assignment_expression "puVar33[1] = uVar23" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[2] = uVar19;" (assignment_expression "puVar33[2] = uVar19" (subscript_expression "puVar33[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[3] = uVar39;" (assignment_expression "puVar33[3] = uVar39" (subscript_expression "puVar33[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + 0xf);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + 0xf)" identifier = (cast_expression "(undefined4 *)((int)puVar33 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + 0xf)" ( (binary_expression "(int)puVar33 + 0xf" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }" else (compound_statement "{\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }" { (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3648" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }" { (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = *(undefined4 *)(iVar16 + -0x3640);" (assignment_expression "uVar23 = *(undefined4 *)(iVar16 + -0x3640)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x3640)" * (cast_expression "(undefined4 *)(iVar16 + -0x3640)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3640)" ( (binary_expression "iVar16 + -0x3640" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = *(undefined4 *)(iVar16 + -0x363c);" (assignment_expression "uVar19 = *(undefined4 *)(iVar16 + -0x363c)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x363c)" * (cast_expression "(undefined4 *)(iVar16 + -0x363c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x363c)" ( (binary_expression "iVar16 + -0x363c" identifier + number_literal) ))))) ;) (expression_statement "uVar39 = *(undefined4 *)(iVar16 + -0x3638);" (assignment_expression "uVar39 = *(undefined4 *)(iVar16 + -0x3638)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x3638)" * (cast_expression "(undefined4 *)(iVar16 + -0x3638)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3638)" ( (binary_expression "iVar16 + -0x3638" identifier + number_literal) ))))) ;) (expression_statement "*puVar33 = *(undefined4 *)(iVar16 + -0x3644);" (assignment_expression "*puVar33 = *(undefined4 *)(iVar16 + -0x3644)" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*(undefined4 *)(iVar16 + -0x3644)" * (cast_expression "(undefined4 *)(iVar16 + -0x3644)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3644)" ( (binary_expression "iVar16 + -0x3644" identifier + number_literal) ))))) ;) (expression_statement "puVar33[1] = uVar23;" (assignment_expression "puVar33[1] = uVar23" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[2] = uVar19;" (assignment_expression "puVar33[2] = uVar19" (subscript_expression "puVar33[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[3] = uVar39;" (assignment_expression "puVar33[3] = uVar39" (subscript_expression "puVar33[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33 = puVar33 + 4;" (assignment_expression "puVar33 = puVar33 + 4" identifier = (binary_expression "puVar33 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);" (assignment_expression "*(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634)" (pointer_expression "*(undefined1 *)puVar33" * (cast_expression "(undefined1 *)puVar33" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(iVar16 + -0x3634)" * (cast_expression "(undefined1 *)(iVar16 + -0x3634)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3634)" ( (binary_expression "iVar16 + -0x3634" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }" else (compound_statement "{\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }" { (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3630" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }" { (expression_statement "*puVar33 = uVar6;" (assignment_expression "*puVar33 = uVar6" (pointer_expression "*puVar33" * identifier) = identifier) ;) (expression_statement "uVar39 = *(undefined4 *)(iVar22 + -0x3624);" (assignment_expression "uVar39 = *(undefined4 *)(iVar22 + -0x3624)" identifier = (pointer_expression "*(undefined4 *)(iVar22 + -0x3624)" * (cast_expression "(undefined4 *)(iVar22 + -0x3624)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x3624)" ( (binary_expression "iVar22 + -0x3624" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined1 *)(iVar22 + -0x3620);" (assignment_expression "uVar2 = *(undefined1 *)(iVar22 + -0x3620)" identifier = (pointer_expression "*(undefined1 *)(iVar22 + -0x3620)" * (cast_expression "(undefined1 *)(iVar22 + -0x3620)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x3620)" ( (binary_expression "iVar22 + -0x3620" identifier + number_literal) ))))) ;) (expression_statement "puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);" (assignment_expression "puVar33[1] = *(undefined4 *)(iVar22 + -0x3628)" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar22 + -0x3628)" * (cast_expression "(undefined4 *)(iVar22 + -0x3628)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x3628)" ( (binary_expression "iVar22 + -0x3628" identifier + number_literal) ))))) ;) (expression_statement "puVar33[2] = uVar39;" (assignment_expression "puVar33[2] = uVar39" (subscript_expression "puVar33[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33 = puVar33 + 3;" (assignment_expression "puVar33 = puVar33 + 3" identifier = (binary_expression "puVar33 + 3" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar33 = uVar2;" (assignment_expression "*(undefined1 *)puVar33 = uVar2" (pointer_expression "*(undefined1 *)puVar33" * (cast_expression "(undefined1 *)puVar33" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) })) }))) }))) (goto_statement "goto LAB_00061ee8;" goto statement_identifier ;) })) (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "uVar39 = *(undefined4 *)(iVar16 + -0x3638);" (assignment_expression "uVar39 = *(undefined4 *)(iVar16 + -0x3638)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x3638)" * (cast_expression "(undefined4 *)(iVar16 + -0x3638)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3638)" ( (binary_expression "iVar16 + -0x3638" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined1 *)(iVar16 + -0x3634);" (assignment_expression "uVar2 = *(undefined1 *)(iVar16 + -0x3634)" identifier = (pointer_expression "*(undefined1 *)(iVar16 + -0x3634)" * (cast_expression "(undefined1 *)(iVar16 + -0x3634)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x3634)" ( (binary_expression "iVar16 + -0x3634" identifier + number_literal) ))))) ;) (expression_statement "*puVar33 = *(undefined4 *)(iVar16 + -0x363c);" (assignment_expression "*puVar33 = *(undefined4 *)(iVar16 + -0x363c)" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*(undefined4 *)(iVar16 + -0x363c)" * (cast_expression "(undefined4 *)(iVar16 + -0x363c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x363c)" ( (binary_expression "iVar16 + -0x363c" identifier + number_literal) ))))) ;) (expression_statement "puVar33[1] = uVar39;" (assignment_expression "puVar33[1] = uVar39" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33 = puVar33 + 2;" (assignment_expression "puVar33 = puVar33 + 2" identifier = (binary_expression "puVar33 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar33 = uVar2;" (assignment_expression "*(undefined1 *)puVar33 = uVar2" (pointer_expression "*(undefined1 *)puVar33" * (cast_expression "(undefined1 *)puVar33" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "pcVar29 = (char *)puVar14[4];" (assignment_expression "pcVar29 = (char *)puVar14[4]" identifier = (cast_expression "(char *)puVar14[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[4]" identifier [ number_literal ]))) ;) (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar29 != '\0') goto LAB_0006228c;" if (parenthesized_expression "(*pcVar29 != '\0')" ( (binary_expression "*pcVar29 != '\0'" (pointer_expression "*pcVar29" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0006228c;" goto statement_identifier ;)) (labeled_statement "LAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);" statement_identifier : (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" ( (subscript_expression "puVar14[10]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x6dc4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;)) (if_statement "if (iVar17 != 0) goto LAB_00061f14;" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00061f14;" goto statement_identifier ;)) (labeled_statement "LAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);" statement_identifier : (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;)) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x53f38);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x53f38)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) ;) (expression_statement "*puVar33 = uVar5;" (assignment_expression "*puVar33 = uVar5" (pointer_expression "*puVar33" * identifier) = identifier) ;) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);" (assignment_expression "*(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610)" (pointer_expression "*(undefined1 *)puVar33" * (cast_expression "(undefined1 *)puVar33" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined1 *)(iVar18 + -0x3610)" * (cast_expression "(undefined1 *)(iVar18 + -0x3610)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -0x3610)" ( (binary_expression "iVar18 + -0x3610" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);" (assignment_expression "iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724)" identifier = (call_expression "(*pcVar24)(puVar14[10],iVar17 + -0x2724)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar14[10],iVar17 + -0x2724)" ( (subscript_expression "puVar14[10]" identifier [ number_literal ]) , (binary_expression "iVar17 + -0x2724" identifier + number_literal) )))) ;) (if_statement "if (iVar17 == 0) goto LAB_00062324;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00062324;" goto statement_identifier ;)) (labeled_statement "LAB_00061f30:\n          pcVar29 = (char *)puVar14[5];" statement_identifier : (expression_statement "pcVar29 = (char *)puVar14[5];" (assignment_expression "pcVar29 = (char *)puVar14[5]" identifier = (cast_expression "(char *)puVar14[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[5]" identifier [ number_literal ]))) ;)) (expression_statement "cVar1 = *pcVar29;" (assignment_expression "cVar1 = *pcVar29" identifier = (pointer_expression "*pcVar29" * identifier)) ;) (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) }))) (if_statement "if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }" { (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" ( (pointer_expression "**(code **)(pcVar10 + 0x54344)" * (pointer_expression "*(code **)(pcVar10 + 0x54344)" * (cast_expression "(code **)(pcVar10 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54344)" ( (binary_expression "pcVar10 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29)" ( identifier , number_literal , number_literal , (binary_expression "iVar17 + -0x12b0" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + iVar17);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + iVar17)" identifier = (cast_expression "(undefined4 *)((int)puVar33 + iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + iVar17)" ( (binary_expression "(int)puVar33 + iVar17" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "puVar34 = (undefined1 *)((int)puVar33 + 1);" (assignment_expression "puVar34 = (undefined1 *)((int)puVar33 + 1)" identifier = (cast_expression "(undefined1 *)((int)puVar33 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + 1)" ( (binary_expression "(int)puVar33 + 1" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3604" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }" if (parenthesized_expression "((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 ))" ( (binary_expression "(((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )" (parenthesized_expression "(((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            )" ( (binary_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)" (parenthesized_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))" ( (binary_expression "(iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0)" (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0)" ( (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3670" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)" ( (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],iVar16 + -0x361c)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "iVar16 + -0x361c" identifier + number_literal) )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )" ( (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35fc" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          puStack_f4 = (undefined4 *)0x0;\n        }" { (expression_statement "puStack_f4 = (undefined4 *)0x0;" (assignment_expression "puStack_f4 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }" else (compound_statement "{\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }" { (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54304))" ( (pointer_expression "**(code **)(pcVar10 + 0x54304)" * (pointer_expression "*(code **)(pcVar10 + 0x54304)" * (cast_expression "(code **)(pcVar10 + 0x54304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54304)" ( (binary_expression "pcVar10 + 0x54304" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35f4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }" if (parenthesized_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))" ( (binary_expression "(iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0)" (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0)" ( (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54304))" ( (pointer_expression "**(code **)(pcVar10 + 0x54304)" * (pointer_expression "*(code **)(pcVar10 + 0x54304)" * (cast_expression "(code **)(pcVar10 + 0x54304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54304)" ( (binary_expression "pcVar10 + 0x54304" identifier + number_literal) ))))) )) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4)" ( (subscript_expression "puVar14[2]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35ec" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , number_literal )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            puStack_f4 = (undefined4 *)0x1;\n          }" { (expression_statement "puStack_f4 = (undefined4 *)0x1;" (assignment_expression "puStack_f4 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            puStack_f4 = (undefined4 *)0x2;\n          }" else (compound_statement "{\n            puStack_f4 = (undefined4 *)0x2;\n          }" { (expression_statement "puStack_f4 = (undefined4 *)0x2;" (assignment_expression "puStack_f4 = (undefined4 *)0x2" identifier = (cast_expression "(undefined4 *)0x2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);" (assignment_expression "iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],iVar17 + -0x702c)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "iVar17 + -0x702c" identifier + number_literal) )))) ;) (if_statement "if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }" if (parenthesized_expression "(iStack_154 != 0)" ( (binary_expression "iStack_154 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }" { (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54304))" ( (pointer_expression "**(code **)(pcVar10 + 0x54304)" * (pointer_expression "*(code **)(pcVar10 + 0x54304)" * (cast_expression "(code **)(pcVar10 + 0x54304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54304)" ( (binary_expression "pcVar10 + 0x54304" identifier + number_literal) ))))) )) (argument_list "(puVar14[3],iVar17 + -0x702c,1)" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) , (binary_expression "iVar17 + -0x702c" identifier + number_literal) , number_literal )))) ;) (expression_statement "iStack_154 = 1;" (assignment_expression "iStack_154 = 1" identifier = number_literal) ;) (if_statement "if (iVar17 == 0) {\n            iStack_154 = 2;\n          }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            iStack_154 = 2;\n          }" { (expression_statement "iStack_154 = 2;" (assignment_expression "iStack_154 = 2" identifier = number_literal) ;) })) })) (expression_statement "(**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);" (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" ( (pointer_expression "**(code **)(pcVar10 + 0x53f38)" * (pointer_expression "*(code **)(pcVar10 + 0x53f38)" * (cast_expression "(code **)(pcVar10 + 0x53f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53f38)" ( (binary_expression "pcVar10 + 0x53f38" identifier + number_literal) ))))) )) (argument_list "(puVar14[4],iVar16 + -0x361c)" ( (subscript_expression "puVar14[4]" identifier [ number_literal ]) , (binary_expression "iVar16 + -0x361c" identifier + number_literal) ))) ;) (expression_statement "iStack_158 = puVar14[2];" (assignment_expression "iStack_158 = puVar14[2]" identifier = (subscript_expression "puVar14[2]" identifier [ number_literal ])) ;) (expression_statement "in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);" (assignment_expression "in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar10 + 0x54364))(iStack_158)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(iStack_158)" ( identifier ))))) ;) (expression_statement "iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);" (assignment_expression "iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3])" identifier = (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[3])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar14[3])" ( (subscript_expression "puVar14[3]" identifier [ number_literal ]) )))) ;) (expression_statement "(**(code **)(pcVar10 + 0x54364))(puVar14[4]);" (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[4])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar14[4])" ( (subscript_expression "puVar14[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcVar10 + 0x54364))(puVar14[10]);" (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[10])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar14[10])" ( (subscript_expression "puVar14[10]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcVar10 + 0x54364))(puVar14[5]);" (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[5])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" ( (pointer_expression "**(code **)(pcVar10 + 0x54364)" * (pointer_expression "*(code **)(pcVar10 + 0x54364)" * (cast_expression "(code **)(pcVar10 + 0x54364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54364)" ( (binary_expression "pcVar10 + 0x54364" identifier + number_literal) ))))) )) (argument_list "(puVar14[5])" ( (subscript_expression "puVar14[5]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar30 = (int *)0xffffffff;" (assignment_expression "piVar30 = (int *)0xffffffff" identifier = (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);" (assignment_expression "piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x35e4)" ( (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35e4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff)" identifier = (call_expression "(**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" ( (pointer_expression "**(code **)(pcVar10 + 0x54344)" * (pointer_expression "*(code **)(pcVar10 + 0x54344)" * (cast_expression "(code **)(pcVar10 + 0x54344)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54344)" ( (binary_expression "pcVar10 + 0x54344" identifier + number_literal) ))))) )) (argument_list "(puVar34,1,0xffffffff)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }" if (parenthesized_expression "(iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32)))" ( (binary_expression "iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))" identifier <= (cast_expression "(int)(puVar34 + (iVar16 - (int)piVar32))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar34 + (iVar16 - (int)piVar32))" ( (binary_expression "puVar34 + (iVar16 - (int)piVar32)" identifier + (parenthesized_expression "(iVar16 - (int)piVar32)" ( (binary_expression "iVar16 - (int)piVar32" identifier - (cast_expression "(int)piVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) )) (compound_statement "{\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }" { (expression_statement "pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" identifier = (cast_expression "(code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53da4))" ( (pointer_expression "**(code **)(pcVar10 + 0x53da4)" * (pointer_expression "*(code **)(pcVar10 + 0x53da4)" * (cast_expression "(code **)(pcVar10 + 0x53da4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53da4)" ( (binary_expression "pcVar10 + 0x53da4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" ( (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35a8" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35b8" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x30c0" (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pcVar9;" return identifier ;) })) (expression_statement "piVar37 = *(int **)(pcVar10 + 0x53690);" (assignment_expression "piVar37 = *(int **)(pcVar10 + 0x53690)" identifier = (pointer_expression "*(int **)(pcVar10 + 0x53690)" * (cast_expression "(int **)(pcVar10 + 0x53690)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53690)" ( (binary_expression "pcVar10 + 0x53690" identifier + number_literal) ))))) ;) (expression_statement "pcVar29 = (char *)puVar14[10];" (assignment_expression "pcVar29 = (char *)puVar14[10]" identifier = (cast_expression "(char *)puVar14[10]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[10]" identifier [ number_literal ]))) ;) (expression_statement "iVar15 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar15 = *(int *)(pcVar10 + 0x53578)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x53578)" * (cast_expression "(int *)(pcVar10 + 0x53578)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x53578)" ( (binary_expression "pcVar10 + 0x53578" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x54198);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x54198)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x54198)" * (cast_expression "(code **)(pcVar10 + 0x54198)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54198)" ( (binary_expression "pcVar10 + 0x54198" identifier + number_literal) ))))) ;) (expression_statement "*piVar37 = 2;" (assignment_expression "*piVar37 = 2" (pointer_expression "*piVar37" * identifier) = number_literal) ;) (expression_statement "piVar25 = (int *)(int)*pcVar29;" (assignment_expression "piVar25 = (int *)(int)*pcVar29" identifier = (cast_expression "(int *)(int)*pcVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*pcVar29" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar29" * identifier)))) ;) (expression_statement "iVar15 = (*pcVar24)(iVar15 + -0x3590);" (assignment_expression "iVar15 = (*pcVar24)(iVar15 + -0x3590)" identifier = (call_expression "(*pcVar24)(iVar15 + -0x3590)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(iVar15 + -0x3590)" ( (binary_expression "iVar15 + -0x3590" identifier + number_literal) )))) ;) (if_statement "if (iVar15 == 0) {\n          *piVar37 = 10;\n        }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n          *piVar37 = 10;\n        }" { (expression_statement "*piVar37 = 10;" (assignment_expression "*piVar37 = 10" (pointer_expression "*piVar37" * identifier) = number_literal) ;) })) (expression_statement "iVar15 = puVar14[6];" (assignment_expression "iVar15 = puVar14[6]" identifier = (subscript_expression "puVar14[6]" identifier [ number_literal ])) ;) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x53574);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x53574)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x53574)" * (cast_expression "(code **)(pcVar10 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53574)" ( (binary_expression "pcVar10 + 0x53574" identifier + number_literal) ))))) ;) (expression_statement "in_stack_fffffea0 = puStack_f4;" (assignment_expression "in_stack_fffffea0 = puStack_f4" identifier = identifier) ;) (if_statement "if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }" { (expression_statement "piVar25 = (int *)*puVar36;" (assignment_expression "piVar25 = (int *)*puVar36" identifier = (cast_expression "(int *)*puVar36" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar36" * identifier))) ;) (expression_statement "iStack_150 = iVar26 + 0x4768;" (assignment_expression "iStack_150 = iVar26 + 0x4768" identifier = (binary_expression "iVar26 + 0x4768" identifier + number_literal)) ;) (expression_statement "iStack_154 = *piVar37;" (assignment_expression "iStack_154 = *piVar37" identifier = (pointer_expression "*piVar37" * identifier)) ;) (expression_statement "piVar30 = piVar32;" (assignment_expression "piVar30 = piVar32" identifier = identifier) ;) (expression_statement "(*pcVar9)(piVar28,piVar25,piVar32);" (call_expression "(*pcVar9)(piVar28,piVar25,piVar32)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar28,piVar25,piVar32)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x53574);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x53574)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x53574)" * (cast_expression "(code **)(pcVar10 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53574)" ( (binary_expression "pcVar10 + 0x53574" identifier + number_literal) ))))) ;) (expression_statement "piVar35 = piVar40;" (assignment_expression "piVar35 = piVar40" identifier = identifier) ;) (expression_statement "in_stack_fffffea0 = puVar38;" (assignment_expression "in_stack_fffffea0 = puVar38" identifier = identifier) ;) (expression_statement "in_stack_fffffea4 = puVar34;" (assignment_expression "in_stack_fffffea4 = puVar34" identifier = identifier) ;) (expression_statement "iStack_158 = iVar15;" (assignment_expression "iStack_158 = iVar15" identifier = identifier) ;) })) (expression_statement "(*pcVar24)(puVar14);" (call_expression "(*pcVar24)(puVar14)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar14)" ( identifier ))) ;) }))) (expression_statement "iVar41 = iVar41 + 1;" (assignment_expression "iVar41 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "puVar36 = puVar36 + 1;" (assignment_expression "puVar36 = puVar36 + 1" identifier = (binary_expression "puVar36 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar41 < iStack_b8)" ( (binary_expression "iVar41 < iStack_b8" identifier < identifier) )) ;) })) (expression_statement "(**(code **)(pcVar10 + 0x544e0))(puVar12);" (call_expression "(**(code **)(pcVar10 + 0x544e0))(puVar12)" (parenthesized_expression "(**(code **)(pcVar10 + 0x544e0))" ( (pointer_expression "**(code **)(pcVar10 + 0x544e0)" * (pointer_expression "*(code **)(pcVar10 + 0x544e0)" * (cast_expression "(code **)(pcVar10 + 0x544e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x544e0)" ( (binary_expression "pcVar10 + 0x544e0" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar10 + 0x53574))();" (call_expression "(**(code **)(pcVar10 + 0x53574))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x53574))" ( (pointer_expression "**(code **)(pcVar10 + 0x53574)" * (pointer_expression "*(code **)(pcVar10 + 0x53574)" * (cast_expression "(code **)(pcVar10 + 0x53574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x53574)" ( (binary_expression "pcVar10 + 0x53574" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar9 = (code *)*piVar11;" (assignment_expression "pcVar9 = (code *)*piVar11" identifier = (cast_expression "(code *)*piVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) (if_statement "if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }" if (parenthesized_expression "(pcStack_b4 == pcVar9)" ( (binary_expression "pcStack_b4 == pcVar9" identifier == identifier) )) (compound_statement "{\n    return pcVar9;\n  }" { (return_statement "return pcVar9;" return identifier ;) })) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x54100);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x54100)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x54100)" * (cast_expression "(code **)(pcVar10 + 0x54100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x54100)" ( (binary_expression "pcVar10 + 0x54100" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar13 = *piVar32;" (assignment_expression "iVar13 = *piVar32" identifier = (pointer_expression "*piVar32" * identifier)) ;) (expression_statement "iVar18 = iStack_154 - piVar25[0x40];" (assignment_expression "iVar18 = iStack_154 - piVar25[0x40]" identifier = (binary_expression "iStack_154 - piVar25[0x40]" identifier - (subscript_expression "piVar25[0x40]" identifier [ number_literal ]))) ;) (expression_statement "pcVar9 = (code *)0x1;" (assignment_expression "pcVar9 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = iStack_158 - piVar25[0x3f];" (assignment_expression "iVar7 = iStack_158 - piVar25[0x3f]" identifier = (binary_expression "iStack_158 - piVar25[0x3f]" identifier - (subscript_expression "piVar25[0x3f]" identifier [ number_literal ]))) ;) (if_statement "if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }" if (parenthesized_expression "(iStack_158 != 0)" ( (binary_expression "iStack_158 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar9 = (code *)0x2;\n  }" { (expression_statement "pcVar9 = (code *)0x2;" (assignment_expression "pcVar9 = (code *)0x2" identifier = (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "iVar22 = iVar7 * 2;" (assignment_expression "iVar22 = iVar7 * 2" identifier = (binary_expression "iVar7 * 2" identifier * number_literal)) ;) (if_statement "if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }" if (parenthesized_expression "(piVar25[0x42] == 0)" ( (binary_expression "piVar25[0x42] == 0" (subscript_expression "piVar25[0x42]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }" { (expression_statement "iVar26 = iVar18 + iVar22;" (assignment_expression "iVar26 = iVar18 + iVar22" identifier = (binary_expression "iVar18 + iVar22" identifier + identifier)) ;) (if_statement "if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }" if (parenthesized_expression "(piVar25[iVar26 * 0xd + 9] == 0)" ( (binary_expression "piVar25[iVar26 * 0xd + 9] == 0" (subscript_expression "piVar25[iVar26 * 0xd + 9]" identifier [ (binary_expression "iVar26 * 0xd + 9" (binary_expression "iVar26 * 0xd" identifier * number_literal) + number_literal) ]) == number_literal) )) (compound_statement "{\n      FUN_000618d0(piVar25,iVar26);\n    }" { (expression_statement "FUN_000618d0(piVar25,iVar26);" (call_expression "FUN_000618d0(piVar25,iVar26)" identifier (argument_list "(piVar25,iVar26)" ( identifier , identifier ))) ;) })) (expression_statement "iVar27 = piVar25[iVar26 * 0xd + 8];" (assignment_expression "iVar27 = piVar25[iVar26 * 0xd + 8]" identifier = (subscript_expression "piVar25[iVar26 * 0xd + 8]" identifier [ (binary_expression "iVar26 * 0xd + 8" (binary_expression "iVar26 * 0xd" identifier * number_literal) + number_literal) ])) ;) (if_statement "if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }" { (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (if_statement "if (iVar27 != 0) goto LAB_0006265c;" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006265c;" goto statement_identifier ;)) (expression_statement "piVar28 = piVar25 + iVar7 * 0x1a;" (assignment_expression "piVar28 = piVar25 + iVar7 * 0x1a" identifier = (binary_expression "piVar25 + iVar7 * 0x1a" identifier + (binary_expression "iVar7 * 0x1a" identifier * number_literal))) ;) (expression_statement "iVar7 = piVar28[9];" (assignment_expression "iVar7 = piVar28[9]" identifier = (subscript_expression "piVar28[9]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = piVar25[0x41];" (assignment_expression "iVar18 = piVar25[0x41]" identifier = (subscript_expression "piVar25[0x41]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x00062808;" goto statement_identifier ;) })) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }" else (compound_statement "{\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }" { (if_statement "if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }" { (expression_statement "piVar28 = piVar25 + iVar7 * 0x1a;" (assignment_expression "piVar28 = piVar25 + iVar7 * 0x1a" identifier = (binary_expression "piVar25 + iVar7 * 0x1a" identifier + (binary_expression "iVar7 * 0x1a" identifier * number_literal))) ;) (expression_statement "iVar7 = piVar28[9];" (assignment_expression "iVar7 = piVar28[9]" identifier = (subscript_expression "piVar28[9]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }" else (compound_statement "{\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }" { (expression_statement "piVar28 = piVar25 + iVar7 * 0x1a;" (assignment_expression "piVar28 = piVar25 + iVar7 * 0x1a" identifier = (binary_expression "piVar25 + iVar7 * 0x1a" identifier + (binary_expression "iVar7 * 0x1a" identifier * number_literal))) ;) (expression_statement "iVar7 = piVar28[9];" (assignment_expression "iVar7 = piVar28[9]" identifier = (subscript_expression "piVar28[9]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = piVar25[0x41];" (assignment_expression "iVar18 = piVar25[0x41]" identifier = (subscript_expression "piVar25[0x41]" identifier [ number_literal ])) ;) }))) (labeled_statement "joined_r0x00062808:\n    iVar26 = iVar22;" statement_identifier : (expression_statement "iVar26 = iVar22;" (assignment_expression "iVar26 = iVar22" identifier = identifier) ;)) (if_statement "if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }" { (expression_statement "FUN_000618d0(piVar25,iVar22);" (call_expression "FUN_000618d0(piVar25,iVar22)" identifier (argument_list "(piVar25,iVar22)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = piVar28[8];" (assignment_expression "iVar27 = piVar28[8]" identifier = (subscript_expression "piVar28[8]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      iVar27 = piVar28[8];\n    }" else (compound_statement "{\n      iVar27 = piVar28[8];\n    }" { (expression_statement "iVar27 = piVar28[8];" (assignment_expression "iVar27 = piVar28[8]" identifier = (subscript_expression "piVar28[8]" identifier [ number_literal ])) ;) }))) }))) (if_statement "if (iVar27 == 0) {\n    return pcVar9;\n  }" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (compound_statement "{\n    return pcVar9;\n  }" { (return_statement "return pcVar9;" return identifier ;) })) (labeled_statement "LAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }" statement_identifier : (if_statement "if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }" if (parenthesized_expression "(piVar25[0x3c] != 0)" ( (binary_expression "piVar25[0x3c] != 0" (subscript_expression "piVar25[0x3c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }" { (expression_statement "puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);" (assignment_expression "puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c74))" ( (pointer_expression "**(code **)(pcVar24 + 0x52c74)" * (pointer_expression "*(code **)(pcVar24 + 0x52c74)" * (cast_expression "(code **)(pcVar24 + 0x52c74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x52c74)" ( (binary_expression "pcVar24 + 0x52c74" identifier + number_literal) ))))) )) (argument_list "(in_stack_fffffea4,2)" ( identifier , number_literal ))))) ;) (if_statement "if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }" if (parenthesized_expression "(0 < (int)in_stack_fffffea4)" ( (binary_expression "0 < (int)in_stack_fffffea4" number_literal < (cast_expression "(int)in_stack_fffffea4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }" { (expression_statement "puVar20 = puVar34;" (assignment_expression "puVar20 = puVar34" identifier = identifier) ;) (do_statement "do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);" do (compound_statement "{\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      }" { (expression_statement "uVar4 = *in_stack_fffffea0;" (assignment_expression "uVar4 = *in_stack_fffffea0" identifier = (pointer_expression "*in_stack_fffffea0" * identifier)) ;) (expression_statement "puVar21 = puVar20 + 2;" (assignment_expression "puVar21 = puVar20 + 2" identifier = (binary_expression "puVar20 + 2" identifier + number_literal)) ;) (expression_statement "in_stack_fffffea0 = in_stack_fffffea0 + 1;" (assignment_expression "in_stack_fffffea0 = in_stack_fffffea0 + 1" identifier = (binary_expression "in_stack_fffffea0 + 1" identifier + number_literal)) ;) (expression_statement "puVar20[1] = (char)uVar4;" (assignment_expression "puVar20[1] = (char)uVar4" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = (cast_expression "(char)uVar4" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*puVar20 = (char)((uint)uVar4 >> 8);" (assignment_expression "*puVar20 = (char)((uint)uVar4 >> 8)" (pointer_expression "*puVar20" * identifier) = (cast_expression "(char)((uint)uVar4 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar4 >> 8)" ( (binary_expression "(uint)uVar4 >> 8" (cast_expression "(uint)uVar4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" identifier = identifier) ;) }) while (parenthesized_expression "(puVar34 + (int)in_stack_fffffea4 * 2 != puVar21)" ( (binary_expression "puVar34 + (int)in_stack_fffffea4 * 2 != puVar21" (binary_expression "puVar34 + (int)in_stack_fffffea4 * 2" identifier + (binary_expression "(int)in_stack_fffffea4 * 2" (cast_expression "(int)in_stack_fffffea4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) != identifier) )) ;) })) (expression_statement "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);" (call_expression "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150)" identifier (argument_list "(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150)" ( (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc" (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750" (pointer_expression "*(int *)(pcVar24 + 0x52c60)" * (cast_expression "(int *)(pcVar24 + 0x52c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x52c60)" ( (binary_expression "pcVar24 + 0x52c60" identifier + number_literal) )))) + number_literal) + (binary_expression "(iVar13 * 2 + 1) * 0xc" (parenthesized_expression "(iVar13 * 2 + 1)" ( (binary_expression "iVar13 * 2 + 1" (binary_expression "iVar13 * 2" identifier * number_literal) + number_literal) )) * number_literal)) , identifier , (binary_expression "piVar25 + iVar26 * 0xd + 8" (binary_expression "piVar25 + iVar26 * 0xd" identifier + (binary_expression "iVar26 * 0xd" identifier * number_literal)) + number_literal) , identifier , identifier , identifier , identifier , identifier , (subscript_expression "piVar25[0x3d]" identifier [ number_literal ]) , (binary_expression "(int)pcVar9 * iStack_150" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) * identifier) ))) ;) (expression_statement "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34)" identifier = (cast_expression "(code *)(**(code **)(pcVar24 + 0x52c78))(puVar34)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x52c78))(puVar34)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c78))" ( (pointer_expression "**(code **)(pcVar24 + 0x52c78)" * (pointer_expression "*(code **)(pcVar24 + 0x52c78)" * (cast_expression "(code **)(pcVar24 + 0x52c78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x52c78)" ( (binary_expression "pcVar24 + 0x52c78" identifier + number_literal) ))))) )) (argument_list "(puVar34)" ( identifier ))))) ;) (return_statement "return pcVar9;" return identifier ;) }))) (expression_statement "uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);" (assignment_expression "uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1)" identifier = (call_expression "(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c74))" ( (pointer_expression "**(code **)(pcVar24 + 0x52c74)" * (pointer_expression "*(code **)(pcVar24 + 0x52c74)" * (cast_expression "(code **)(pcVar24 + 0x52c74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x52c74)" ( (binary_expression "pcVar24 + 0x52c74" identifier + number_literal) ))))) )) (argument_list "(in_stack_fffffea4 + 1,1)" ( (binary_expression "in_stack_fffffea4 + 1" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);" (assignment_expression "uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0)" identifier = (call_expression "wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0)" identifier (argument_list "(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0)" ( (subscript_expression "piVar25[0x3e]" identifier [ number_literal ]) , number_literal , identifier , identifier , identifier , (binary_expression "in_stack_fffffea4 + 1" identifier + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x52c7c) + -0x48f0" (pointer_expression "*(int *)(pcVar24 + 0x52c7c)" * (cast_expression "(int *)(pcVar24 + 0x52c7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x52c7c)" ( (binary_expression "pcVar24 + 0x52c7c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal )))) ;) (expression_statement "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);" (call_expression "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150)" identifier (argument_list "(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150)" ( (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18" (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750" (pointer_expression "*(int *)(pcVar24 + 0x52c60)" * (cast_expression "(int *)(pcVar24 + 0x52c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x52c60)" ( (binary_expression "pcVar24 + 0x52c60" identifier + number_literal) )))) + number_literal) + (binary_expression "iVar13 * 0x18" identifier * number_literal)) , identifier , (binary_expression "piVar25 + iVar26 * 0xd + 8" (binary_expression "piVar25 + iVar26 * 0xd" identifier + (binary_expression "iVar26 * 0xd" identifier * number_literal)) + number_literal) , identifier , identifier , identifier , identifier , identifier , (subscript_expression "piVar25[0x3d]" identifier [ number_literal ]) , (binary_expression "(int)pcVar9 * iStack_150" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) * identifier) ))) ;) (expression_statement "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4)" identifier = (cast_expression "(code *)(**(code **)(pcVar24 + 0x52c78))(uVar4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x52c78))(uVar4)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c78))" ( (pointer_expression "**(code **)(pcVar24 + 0x52c78)" * (pointer_expression "*(code **)(pcVar24 + 0x52c78)" * (cast_expression "(code **)(pcVar24 + 0x52c78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x52c78)" ( (binary_expression "pcVar24 + 0x52c78" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier ))))) ;) (return_statement "return pcVar9;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) })) }))) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) != IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + LIT) )) * LIT)) , IDENT , (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) , IDENT , IDENT , IDENT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression IDENT * LIT)) , IDENT , (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) , IDENT , IDENT , IDENT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (return_statement return IDENT ;) })))
(function_definition "code * FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  int *piVar11;\n  uint *puVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  int *piVar25;\n  int iVar26;\n  int iVar27;\n  int *piVar28;\n  char *pcVar29;\n  int *piVar30;\n  code *pcVar31;\n  int *piVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  int *piVar35;\n  uint *puVar36;\n  int *piVar37;\n  undefined4 *puVar38;\n  undefined4 uVar39;\n  int *piVar40;\n  int unaff_s6;\n  int iVar41;\n  undefined4 *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  undefined4 *puStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  code *pcStack_b4;\n  code *pcStack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  code *pcStack_a4;\n  undefined4 *puStack_a0;\n  int *piStack_9c;\n  int iStack_98;\n  int local_6c;\n  int local_68;\n  int local_64;\n  uint local_60;\n  undefined4 local_5c;\n  undefined *local_58;\n  int local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  int local_28;\n  code *local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(code **)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  uVar39 = *(undefined4 *)(param_1 + 0x20);\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);\n  piVar30 = &local_28;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }\n  uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);\n  puVar8 = PTR_safefree_000b5210;\n  pcVar24 = (code *)(param_2 * 0x34 + param_1);\n  *(undefined4 *)(pcVar24 + 0x20) = uVar6;\n  *(undefined4 *)(pcVar24 + 0x24) = 1;\n  (*(code *)puVar8)(uVar5);\n  pcVar9 = *(code **)puVar3;\n  if (local_24 == pcVar9) {\n    return pcVar9;\n  }\n  puVar8 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  local_58 = puVar3;\n  piVar35 = *(int **)(puVar8 + 0x54650);\n  local_64 = *piVar35;\n  piVar28 = piVar30;\n  local_60 = param_2;\n  local_5c = uVar5;\n  local_54 = param_1;\n  local_50 = uVar4;\n  local_4c = uVar39;\n  uVar4 = (**(code **)(puVar8 + 0x543f4))();\n  uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);\n  pcVar9 = pcVar24;\n  pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);\n  pcVar31 = pcVar10;\n  if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }\nLAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }\n  pcVar10 = *(code **)(puVar8 + 0x542f4);\n  (*pcVar10)();\n  piVar11 = *(int **)(pcVar10 + 0x5445c);\n  piVar32 = (int *)0x8000;\n  pcStack_b4 = (code *)*piVar11;\n  pcStack_b0 = pcVar31;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar35;\n  pcStack_a4 = pcVar24;\n  puStack_a0 = param_4;\n  piStack_9c = piVar30;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar10 + 0x54200))();\n  uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar10 + 0x53578);\n  while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }\n  piVar32 = (int *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }\n  (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  (**(code **)(pcVar10 + 0x53574))();\n  pcVar9 = (code *)*piVar11;\n  if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }\n  pcVar24 = *(code **)(pcVar10 + 0x54100);\n  (*pcVar24)();\n  iVar13 = *piVar32;\n  iVar18 = iStack_154 - piVar25[0x40];\n  pcVar9 = (code *)0x1;\n  iVar7 = iStack_158 - piVar25[0x3f];\n  if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }\n  iVar22 = iVar7 * 2;\n  if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }\n  if (iVar27 == 0) {\n    return pcVar9;\n  }\nLAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }\n  uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);\n  FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);\n                    \n                    \n  pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);\n  return pcVar9;\n}" (type_identifier "code") (pointer_declarator "* FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)" (* "*") (function_declarator "FUN_000618d0(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)" (identifier "FUN_000618d0") (parameter_list "(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 *param_4" (type_identifier "undefined4") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")")))) (compound_statement "{\n  char cVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  int *piVar11;\n  uint *puVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  int *piVar25;\n  int iVar26;\n  int iVar27;\n  int *piVar28;\n  char *pcVar29;\n  int *piVar30;\n  code *pcVar31;\n  int *piVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  int *piVar35;\n  uint *puVar36;\n  int *piVar37;\n  undefined4 *puVar38;\n  undefined4 uVar39;\n  int *piVar40;\n  int unaff_s6;\n  int iVar41;\n  undefined4 *in_stack_fffffea0;\n  undefined1 *in_stack_fffffea4;\n  int iStack_158;\n  int iStack_154;\n  int iStack_150;\n  undefined4 *puStack_f4;\n  int iStack_ec;\n  int iStack_b8;\n  code *pcStack_b4;\n  code *pcStack_b0;\n  undefined4 uStack_ac;\n  int *piStack_a8;\n  code *pcStack_a4;\n  undefined4 *puStack_a0;\n  int *piStack_9c;\n  int iStack_98;\n  int local_6c;\n  int local_68;\n  int local_64;\n  uint local_60;\n  undefined4 local_5c;\n  undefined *local_58;\n  int local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  int local_28;\n  code *local_24;\n  \n  puVar3 = PTR___stack_chk_guard_000b60f8;\n  local_24 = *(code **)PTR___stack_chk_guard_000b60f8;\n  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);\n  uVar39 = *(undefined4 *)(param_1 + 0x20);\n  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();\n  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);\n  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);\n  piVar30 = &local_28;\n  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);\n  if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }\n  uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);\n  puVar8 = PTR_safefree_000b5210;\n  pcVar24 = (code *)(param_2 * 0x34 + param_1);\n  *(undefined4 *)(pcVar24 + 0x20) = uVar6;\n  *(undefined4 *)(pcVar24 + 0x24) = 1;\n  (*(code *)puVar8)(uVar5);\n  pcVar9 = *(code **)puVar3;\n  if (local_24 == pcVar9) {\n    return pcVar9;\n  }\n  puVar8 = PTR___stack_chk_fail_000b5d9c;\n  (*(code *)PTR___stack_chk_fail_000b5d9c)();\n  local_58 = puVar3;\n  piVar35 = *(int **)(puVar8 + 0x54650);\n  local_64 = *piVar35;\n  piVar28 = piVar30;\n  local_60 = param_2;\n  local_5c = uVar5;\n  local_54 = param_1;\n  local_50 = uVar4;\n  local_4c = uVar39;\n  uVar4 = (**(code **)(puVar8 + 0x543f4))();\n  uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);\n  pcVar9 = pcVar24;\n  pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);\n  pcVar31 = pcVar10;\n  if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }\nLAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }\n  pcVar10 = *(code **)(puVar8 + 0x542f4);\n  (*pcVar10)();\n  piVar11 = *(int **)(pcVar10 + 0x5445c);\n  piVar32 = (int *)0x8000;\n  pcStack_b4 = (code *)*piVar11;\n  pcStack_b0 = pcVar31;\n  uStack_ac = uVar4;\n  piStack_a8 = piVar35;\n  pcStack_a4 = pcVar24;\n  puStack_a0 = param_4;\n  piStack_9c = piVar30;\n  iStack_98 = unaff_s6;\n  uVar4 = (**(code **)(pcVar10 + 0x54200))();\n  uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);\n  iVar7 = *(int *)(pcVar10 + 0x53578);\n  while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }\n  piVar32 = (int *)0x0;\n  if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }\n  (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  (**(code **)(pcVar10 + 0x53574))();\n  pcVar9 = (code *)*piVar11;\n  if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }\n  pcVar24 = *(code **)(pcVar10 + 0x54100);\n  (*pcVar24)();\n  iVar13 = *piVar32;\n  iVar18 = iStack_154 - piVar25[0x40];\n  pcVar9 = (code *)0x1;\n  iVar7 = iStack_158 - piVar25[0x3f];\n  if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }\n  iVar22 = iVar7 * 2;\n  if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }\n  if (iVar27 == 0) {\n    return pcVar9;\n  }\nLAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }\n  uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);\n  uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);\n  FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);\n                    \n                    \n  pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);\n  return pcVar9;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined1 uVar2;" (type_identifier "undefined1") (identifier "uVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "uint *puVar12;" (type_identifier "uint") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "undefined4 uVar19;" (type_identifier "undefined4") (identifier "uVar19") (; ";")) (declaration "undefined1 *puVar20;" (type_identifier "undefined1") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined1 *puVar21;" (type_identifier "undefined1") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "undefined4 uVar23;" (type_identifier "undefined4") (identifier "uVar23") (; ";")) (declaration "code *pcVar24;" (type_identifier "code") (pointer_declarator "*pcVar24" (* "*") (identifier "pcVar24")) (; ";")) (declaration "int *piVar25;" (primitive_type "int") (pointer_declarator "*piVar25" (* "*") (identifier "piVar25")) (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "int *piVar28;" (primitive_type "int") (pointer_declarator "*piVar28" (* "*") (identifier "piVar28")) (; ";")) (declaration "char *pcVar29;" (primitive_type "char") (pointer_declarator "*pcVar29" (* "*") (identifier "pcVar29")) (; ";")) (declaration "int *piVar30;" (primitive_type "int") (pointer_declarator "*piVar30" (* "*") (identifier "piVar30")) (; ";")) (declaration "code *pcVar31;" (type_identifier "code") (pointer_declarator "*pcVar31" (* "*") (identifier "pcVar31")) (; ";")) (declaration "int *piVar32;" (primitive_type "int") (pointer_declarator "*piVar32" (* "*") (identifier "piVar32")) (; ";")) (declaration "undefined4 *puVar33;" (type_identifier "undefined4") (pointer_declarator "*puVar33" (* "*") (identifier "puVar33")) (; ";")) (declaration "undefined1 *puVar34;" (type_identifier "undefined1") (pointer_declarator "*puVar34" (* "*") (identifier "puVar34")) (; ";")) (declaration "int *piVar35;" (primitive_type "int") (pointer_declarator "*piVar35" (* "*") (identifier "piVar35")) (; ";")) (declaration "uint *puVar36;" (type_identifier "uint") (pointer_declarator "*puVar36" (* "*") (identifier "puVar36")) (; ";")) (declaration "int *piVar37;" (primitive_type "int") (pointer_declarator "*piVar37" (* "*") (identifier "piVar37")) (; ";")) (declaration "undefined4 *puVar38;" (type_identifier "undefined4") (pointer_declarator "*puVar38" (* "*") (identifier "puVar38")) (; ";")) (declaration "undefined4 uVar39;" (type_identifier "undefined4") (identifier "uVar39") (; ";")) (declaration "int *piVar40;" (primitive_type "int") (pointer_declarator "*piVar40" (* "*") (identifier "piVar40")) (; ";")) (declaration "int unaff_s6;" (primitive_type "int") (identifier "unaff_s6") (; ";")) (declaration "int iVar41;" (primitive_type "int") (identifier "iVar41") (; ";")) (declaration "undefined4 *in_stack_fffffea0;" (type_identifier "undefined4") (pointer_declarator "*in_stack_fffffea0" (* "*") (identifier "in_stack_fffffea0")) (; ";")) (declaration "undefined1 *in_stack_fffffea4;" (type_identifier "undefined1") (pointer_declarator "*in_stack_fffffea4" (* "*") (identifier "in_stack_fffffea4")) (; ";")) (declaration "int iStack_158;" (primitive_type "int") (identifier "iStack_158") (; ";")) (declaration "int iStack_154;" (primitive_type "int") (identifier "iStack_154") (; ";")) (declaration "int iStack_150;" (primitive_type "int") (identifier "iStack_150") (; ";")) (declaration "undefined4 *puStack_f4;" (type_identifier "undefined4") (pointer_declarator "*puStack_f4" (* "*") (identifier "puStack_f4")) (; ";")) (declaration "int iStack_ec;" (primitive_type "int") (identifier "iStack_ec") (; ";")) (declaration "int iStack_b8;" (primitive_type "int") (identifier "iStack_b8") (; ";")) (declaration "code *pcStack_b4;" (type_identifier "code") (pointer_declarator "*pcStack_b4" (* "*") (identifier "pcStack_b4")) (; ";")) (declaration "code *pcStack_b0;" (type_identifier "code") (pointer_declarator "*pcStack_b0" (* "*") (identifier "pcStack_b0")) (; ";")) (declaration "undefined4 uStack_ac;" (type_identifier "undefined4") (identifier "uStack_ac") (; ";")) (declaration "int *piStack_a8;" (primitive_type "int") (pointer_declarator "*piStack_a8" (* "*") (identifier "piStack_a8")) (; ";")) (declaration "code *pcStack_a4;" (type_identifier "code") (pointer_declarator "*pcStack_a4" (* "*") (identifier "pcStack_a4")) (; ";")) (declaration "undefined4 *puStack_a0;" (type_identifier "undefined4") (pointer_declarator "*puStack_a0" (* "*") (identifier "puStack_a0")) (; ";")) (declaration "int *piStack_9c;" (primitive_type "int") (pointer_declarator "*piStack_9c" (* "*") (identifier "piStack_9c")) (; ";")) (declaration "int iStack_98;" (primitive_type "int") (identifier "iStack_98") (; ";")) (declaration "int local_6c;" (primitive_type "int") (identifier "local_6c") (; ";")) (declaration "int local_68;" (primitive_type "int") (identifier "local_68") (; ";")) (declaration "int local_64;" (primitive_type "int") (identifier "local_64") (; ";")) (declaration "uint local_60;" (type_identifier "uint") (identifier "local_60") (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "undefined *local_58;" (type_identifier "undefined") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "int local_54;" (primitive_type "int") (identifier "local_54") (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (declaration "code *local_24;" (type_identifier "code") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_000b60f8;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000b60f8" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_000b60f8")) (; ";")) (expression_statement "local_24 = *(code **)PTR___stack_chk_guard_000b60f8;" (assignment_expression "local_24 = *(code **)PTR___stack_chk_guard_000b60f8" (identifier "local_24") (= "=") (pointer_expression "*(code **)PTR___stack_chk_guard_000b60f8" (* "*") (cast_expression "(code **)PTR___stack_chk_guard_000b60f8" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_000b60f8")))) (; ";")) (expression_statement "uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();" (assignment_expression "uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)()" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)()" (parenthesized_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)" (( "(") (pointer_expression "*(code *)PTR_gdk_display_get_default_000b5e9c" (* "*") (cast_expression "(code *)PTR_gdk_display_get_default_000b5e9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gdk_display_get_default_000b5e9c"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);" (assignment_expression "uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4)" (parenthesized_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)" (( "(") (pointer_expression "*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" (* "*") (cast_expression "(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gdk_x11_display_get_xdisplay_000b5a48"))) () ")")) (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "uVar39 = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "uVar39 = *(undefined4 *)(param_1 + 0x20)" (identifier "uVar39") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();" (assignment_expression "uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)()" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)()" (parenthesized_expression "(*(code *)PTR_gdk_display_get_default_000b5e9c)" (( "(") (pointer_expression "*(code *)PTR_gdk_display_get_default_000b5e9c" (* "*") (cast_expression "(code *)PTR_gdk_display_get_default_000b5e9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gdk_display_get_default_000b5e9c"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);" (assignment_expression "uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5)" (parenthesized_expression "(*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)" (( "(") (pointer_expression "*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" (* "*") (cast_expression "(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gdk_x11_display_get_xdisplay_000b5a48"))) () ")")) (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);" (assignment_expression "uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0)" (parenthesized_expression "(*(code *)PTR_XInternAtom_000b5f60)" (( "(") (pointer_expression "*(code *)PTR_XInternAtom_000b5f60" (* "*") (cast_expression "(code *)PTR_XInternAtom_000b5f60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_XInternAtom_000b5f60"))) () ")")) (argument_list "(uVar5,PTR_DAT_000b5230 + 0x17d0,0)" (( "(") (identifier "uVar5") (, ",") (binary_expression "PTR_DAT_000b5230 + 0x17d0" (identifier "PTR_DAT_000b5230") (+ "+") (number_literal "0x17d0")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar30 = &local_28;" (assignment_expression "piVar30 = &local_28" (identifier "piVar30") (= "=") (pointer_expression "&local_28" (& "&") (identifier "local_28"))) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);" (assignment_expression "iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6)" (parenthesized_expression "(*(code *)PTR_XGetFontProperty_000b61b8)" (( "(") (pointer_expression "*(code *)PTR_XGetFontProperty_000b61b8" (* "*") (cast_expression "(code *)PTR_XGetFontProperty_000b61b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_XGetFontProperty_000b61b8"))) () ")")) (argument_list "(uVar39,uVar6)" (( "(") (identifier "uVar39") (, ",") (identifier "uVar6") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\nLAB_00061a2c:\n    uVar5 = 0;\n  }\n  else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00061a2c:\n    uVar5 = 0;\n  }" ({ "{") (labeled_statement "LAB_00061a2c:\n    uVar5 = 0;" (statement_identifier "LAB_00061a2c") (: ":") (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }" (else "else") (compound_statement "{\n    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);\n    iVar7 = FUN_0006116c(uVar5);\n    if (iVar7 == 0) goto LAB_00061a2c;\n    if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }\n    if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }\n    uVar5 = FUN_0006137c(iVar7);\n    (*(code *)PTR_safefree_000b5210)(iVar7);\n  }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);" (assignment_expression "uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28)" (parenthesized_expression "(*(code *)PTR_XGetAtomName_000b5a50)" (( "(") (pointer_expression "*(code *)PTR_XGetAtomName_000b5a50" (* "*") (cast_expression "(code *)PTR_XGetAtomName_000b5a50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_XGetAtomName_000b5a50"))) () ")")) (argument_list "(uVar5,local_28)" (( "(") (identifier "uVar5") (, ",") (identifier "local_28") () ")")))) (; ";")) (expression_statement "iVar7 = FUN_0006116c(uVar5);" (assignment_expression "iVar7 = FUN_0006116c(uVar5)" (identifier "iVar7") (= "=") (call_expression "FUN_0006116c(uVar5)" (identifier "FUN_0006116c") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_00061a2c;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00061a2c;" (goto "goto") (statement_identifier "LAB_00061a2c") (; ";"))) (if_statement "if ((param_2 & 1) != 0) {\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }" (if "if") (parenthesized_expression "((param_2 & 1) != 0)" (( "(") (binary_expression "(param_2 & 1) != 0" (parenthesized_expression "(param_2 & 1)" (( "(") (binary_expression "param_2 & 1" (identifier "param_2") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;\n    }" ({ "{") (expression_statement "*(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;" (assignment_expression "*(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c" (pointer_expression "*(undefined **)(iVar7 + 8)" (* "*") (cast_expression "(undefined **)(iVar7 + 8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "PTR_s_XXXXXXXXXX___________000b5214 + -0x503c" (identifier "PTR_s_XXXXXXXXXX___________000b5214") (+ "+") (number_literal "-0x503c"))) (; ";")) (} "}"))) (if_statement "if ((param_2 & 2) != 0) {\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }" (if "if") (parenthesized_expression "((param_2 & 2) != 0)" (( "(") (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" (( "(") (binary_expression "param_2 & 2" (identifier "param_2") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;\n      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;\n      *(undefined **)(iVar7 + 0x14) = puVar8;\n      *(undefined **)(iVar7 + 0x10) = puVar8;\n    }" ({ "{") (expression_statement "puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;" (assignment_expression "puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680" (identifier "puVar8") (= "=") (binary_expression "PTR_s_XXXXXXXXXX___________000b5214 + -0x3680" (identifier "PTR_s_XXXXXXXXXX___________000b5214") (+ "+") (number_literal "-0x3680"))) (; ";")) (expression_statement "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;" (assignment_expression "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" (* "*") (cast_expression "(int *)(iVar7 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x2c)" (( "(") (binary_expression "iVar7 + 0x2c" (identifier "iVar7") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "*(int *)(iVar7 + 0x2c) << 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" (* "*") (cast_expression "(int *)(iVar7 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x2c)" (( "(") (binary_expression "iVar7 + 0x2c" (identifier "iVar7") (+ "+") (number_literal "0x2c")) () ")")))) (<< "<<") (number_literal "1"))) (; ";")) (expression_statement "*(undefined **)(iVar7 + 0x14) = puVar8;" (assignment_expression "*(undefined **)(iVar7 + 0x14) = puVar8" (pointer_expression "*(undefined **)(iVar7 + 0x14)" (* "*") (cast_expression "(undefined **)(iVar7 + 0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x14)" (( "(") (binary_expression "iVar7 + 0x14" (identifier "iVar7") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "*(undefined **)(iVar7 + 0x10) = puVar8;" (assignment_expression "*(undefined **)(iVar7 + 0x10) = puVar8" (pointer_expression "*(undefined **)(iVar7 + 0x10)" (* "*") (cast_expression "(undefined **)(iVar7 + 0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "uVar5 = FUN_0006137c(iVar7);" (assignment_expression "uVar5 = FUN_0006137c(iVar7)" (identifier "uVar5") (= "=") (call_expression "FUN_0006137c(iVar7)" (identifier "FUN_0006137c") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b5210)(iVar7);" (call_expression "(*(code *)PTR_safefree_000b5210)(iVar7)" (parenthesized_expression "(*(code *)PTR_safefree_000b5210)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b5210" (* "*") (cast_expression "(code *)PTR_safefree_000b5210" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b5210"))) () ")")) (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")"))) (; ";")) (} "}")))) (expression_statement "uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);" (assignment_expression "uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5)" (parenthesized_expression "(*(code *)PTR_XLoadQueryFont_000b5aec)" (( "(") (pointer_expression "*(code *)PTR_XLoadQueryFont_000b5aec" (* "*") (cast_expression "(code *)PTR_XLoadQueryFont_000b5aec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_XLoadQueryFont_000b5aec"))) () ")")) (argument_list "(uVar4,uVar5)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "puVar8 = PTR_safefree_000b5210;" (assignment_expression "puVar8 = PTR_safefree_000b5210" (identifier "puVar8") (= "=") (identifier "PTR_safefree_000b5210")) (; ";")) (expression_statement "pcVar24 = (code *)(param_2 * 0x34 + param_1);" (assignment_expression "pcVar24 = (code *)(param_2 * 0x34 + param_1)" (identifier "pcVar24") (= "=") (cast_expression "(code *)(param_2 * 0x34 + param_1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 * 0x34 + param_1)" (( "(") (binary_expression "param_2 * 0x34 + param_1" (binary_expression "param_2 * 0x34" (identifier "param_2") (* "*") (number_literal "0x34")) (+ "+") (identifier "param_1")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(pcVar24 + 0x20) = uVar6;" (assignment_expression "*(undefined4 *)(pcVar24 + 0x20) = uVar6" (pointer_expression "*(undefined4 *)(pcVar24 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pcVar24 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x20)" (( "(") (binary_expression "pcVar24 + 0x20" (identifier "pcVar24") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined4 *)(pcVar24 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(pcVar24 + 0x24) = 1" (pointer_expression "*(undefined4 *)(pcVar24 + 0x24)" (* "*") (cast_expression "(undefined4 *)(pcVar24 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x24)" (( "(") (binary_expression "pcVar24 + 0x24" (identifier "pcVar24") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "(*(code *)puVar8)(uVar5);" (call_expression "(*(code *)puVar8)(uVar5)" (parenthesized_expression "(*(code *)puVar8)" (( "(") (pointer_expression "*(code *)puVar8" (* "*") (cast_expression "(code *)puVar8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8"))) () ")")) (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)puVar3;" (assignment_expression "pcVar9 = *(code **)puVar3" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)puVar3" (* "*") (cast_expression "(code **)puVar3" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar3")))) (; ";")) (if_statement "if (local_24 == pcVar9) {\n    return pcVar9;\n  }" (if "if") (parenthesized_expression "(local_24 == pcVar9)" (( "(") (binary_expression "local_24 == pcVar9" (identifier "local_24") (== "==") (identifier "pcVar9")) () ")")) (compound_statement "{\n    return pcVar9;\n  }" ({ "{") (return_statement "return pcVar9;" (return "return") (identifier "pcVar9") (; ";")) (} "}"))) (expression_statement "puVar8 = PTR___stack_chk_fail_000b5d9c;" (assignment_expression "puVar8 = PTR___stack_chk_fail_000b5d9c" (identifier "puVar8") (= "=") (identifier "PTR___stack_chk_fail_000b5d9c")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000b5d9c)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b5d9c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b5d9c)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000b5d9c" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000b5d9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000b5d9c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_58 = puVar3;" (assignment_expression "local_58 = puVar3" (identifier "local_58") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "piVar35 = *(int **)(puVar8 + 0x54650);" (assignment_expression "piVar35 = *(int **)(puVar8 + 0x54650)" (identifier "piVar35") (= "=") (pointer_expression "*(int **)(puVar8 + 0x54650)" (* "*") (cast_expression "(int **)(puVar8 + 0x54650)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x54650)" (( "(") (binary_expression "puVar8 + 0x54650" (identifier "puVar8") (+ "+") (number_literal "0x54650")) () ")"))))) (; ";")) (expression_statement "local_64 = *piVar35;" (assignment_expression "local_64 = *piVar35" (identifier "local_64") (= "=") (pointer_expression "*piVar35" (* "*") (identifier "piVar35"))) (; ";")) (expression_statement "piVar28 = piVar30;" (assignment_expression "piVar28 = piVar30" (identifier "piVar28") (= "=") (identifier "piVar30")) (; ";")) (expression_statement "local_60 = param_2;" (assignment_expression "local_60 = param_2" (identifier "local_60") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_5c = uVar5;" (assignment_expression "local_5c = uVar5" (identifier "local_5c") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" (identifier "local_54") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_50 = uVar4;" (assignment_expression "local_50 = uVar4" (identifier "local_50") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "local_4c = uVar39;" (assignment_expression "local_4c = uVar39" (identifier "local_4c") (= "=") (identifier "uVar39")) (; ";")) (expression_statement "uVar4 = (**(code **)(puVar8 + 0x543f4))();" (assignment_expression "uVar4 = (**(code **)(puVar8 + 0x543f4))()" (identifier "uVar4") (= "=") (call_expression "(**(code **)(puVar8 + 0x543f4))()" (parenthesized_expression "(**(code **)(puVar8 + 0x543f4))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x543f4)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x543f4)" (* "*") (cast_expression "(code **)(puVar8 + 0x543f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x543f4)" (( "(") (binary_expression "puVar8 + 0x543f4" (identifier "puVar8") (+ "+") (number_literal "0x543f4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);" (assignment_expression "uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(puVar8 + 0x53fa0))(uVar4)" (parenthesized_expression "(**(code **)(puVar8 + 0x53fa0))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x53fa0)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x53fa0)" (* "*") (cast_expression "(code **)(puVar8 + 0x53fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x53fa0)" (( "(") (binary_expression "puVar8 + 0x53fa0" (identifier "puVar8") (+ "+") (number_literal "0x53fa0")) () ")"))))) () ")")) (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "pcVar9 = pcVar24;" (assignment_expression "pcVar9 = pcVar24" (identifier "pcVar9") (= "=") (identifier "pcVar24")) (; ";")) (expression_statement "pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);" (assignment_expression "pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4)" (identifier "pcVar10") (= "=") (cast_expression "(code *)(**(code **)(puVar8 + 0x54044))(uVar4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar8 + 0x54044))(uVar4)" (parenthesized_expression "(**(code **)(puVar8 + 0x54044))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x54044)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x54044)" (* "*") (cast_expression "(code **)(puVar8 + 0x54044)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x54044)" (( "(") (binary_expression "puVar8 + 0x54044" (identifier "puVar8") (+ "+") (number_literal "0x54044")) () ")"))))) () ")")) (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))))) (; ";")) (expression_statement "pcVar31 = pcVar10;" (assignment_expression "pcVar31 = pcVar10" (identifier "pcVar31") (= "=") (identifier "pcVar10")) (; ";")) (if_statement "if (pcVar10 != (code *)0x0) {\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }" (if "if") (parenthesized_expression "(pcVar10 != (code *)0x0)" (( "(") (binary_expression "pcVar10 != (code *)0x0" (identifier "pcVar10") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);\n    piVar28 = &local_6c;\n    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }\n    pcVar31 = (code *)0x0;\n    (**(code **)(puVar8 + 0x546c4))(uVar4);\n    pcVar9 = pcVar10;\n  }" ({ "{") (expression_statement "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);" (assignment_expression "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0)" (parenthesized_expression "(**(code **)(puVar8 + 0x544b8))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x544b8)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x544b8)" (* "*") (cast_expression "(code **)(puVar8 + 0x544b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x544b8)" (( "(") (binary_expression "puVar8 + 0x544b8" (identifier "puVar8") (+ "+") (number_literal "0x544b8")) () ")"))))) () ")")) (argument_list "(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0)" (( "(") (identifier "uVar4") (, ",") (binary_expression "*(int *)(puVar8 + 0x53788) + 0x17d0" (pointer_expression "*(int *)(puVar8 + 0x53788)" (* "*") (cast_expression "(int *)(puVar8 + 0x53788)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x53788)" (( "(") (binary_expression "puVar8 + 0x53788" (identifier "puVar8") (+ "+") (number_literal "0x53788")) () ")")))) (+ "+") (number_literal "0x17d0")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar28 = &local_6c;" (assignment_expression "piVar28 = &local_6c" (identifier "piVar28") (= "=") (pointer_expression "&local_6c" (& "&") (identifier "local_6c"))) (; ";")) (expression_statement "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);" (assignment_expression "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" (parenthesized_expression "(**(code **)(puVar8 + 0x54710))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x54710)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x54710)" (* "*") (cast_expression "(code **)(puVar8 + 0x54710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x54710)" (( "(") (binary_expression "puVar8 + 0x54710" (identifier "puVar8") (+ "+") (number_literal "0x54710")) () ")"))))) () ")")) (argument_list "(pcVar10,uVar5)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar5") () ")")))) (; ";")) (if_statement "if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))\n    {\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }" (if "if") (parenthesized_expression "((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))" (( "(") (binary_expression "(iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0)" (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0)" (( "(") (comma_expression "unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0" (assignment_expression "unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c)" (identifier "unaff_s6") (= "=") (call_expression "(**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c)" (parenthesized_expression "(**(code **)(puVar8 + 0x53fa8))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x53fa8)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x53fa8)" (* "*") (cast_expression "(code **)(puVar8 + 0x53fa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x53fa8)" (( "(") (binary_expression "puVar8 + 0x53fa8" (identifier "puVar8") (+ "+") (number_literal "0x53fa8")) () ")"))))) () ")")) (argument_list "(uVar4,local_6c)" (( "(") (identifier "uVar4") (, ",") (identifier "local_6c") () ")")))) (, ",") (binary_expression "unaff_s6 != 0" (identifier "unaff_s6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      local_68 = 0xc;\n      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);\n      piVar28 = &local_68;\n      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);\n      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }\n    }" ({ "{") (expression_statement "local_68 = 0xc;" (assignment_expression "local_68 = 0xc" (identifier "local_68") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);" (assignment_expression "uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0)" (parenthesized_expression "(**(code **)(puVar8 + 0x544b8))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x544b8)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x544b8)" (* "*") (cast_expression "(code **)(puVar8 + 0x544b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x544b8)" (( "(") (binary_expression "puVar8 + 0x544b8" (identifier "puVar8") (+ "+") (number_literal "0x544b8")) () ")"))))) () ")")) (argument_list "(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0)" (( "(") (identifier "uVar4") (, ",") (binary_expression "*(int *)(puVar8 + 0x5376c) + -0x367c" (pointer_expression "*(int *)(puVar8 + 0x5376c)" (* "*") (cast_expression "(int *)(puVar8 + 0x5376c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x5376c)" (( "(") (binary_expression "puVar8 + 0x5376c" (identifier "puVar8") (+ "+") (number_literal "0x5376c")) () ")")))) (+ "+") (number_literal "-0x367c")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar28 = &local_68;" (assignment_expression "piVar28 = &local_68" (identifier "piVar28") (= "=") (pointer_expression "&local_68" (& "&") (identifier "local_68"))) (; ";")) (expression_statement "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);" (assignment_expression "iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(puVar8 + 0x54710))(pcVar10,uVar5)" (parenthesized_expression "(**(code **)(puVar8 + 0x54710))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x54710)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x54710)" (* "*") (cast_expression "(code **)(puVar8 + 0x54710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x54710)" (( "(") (binary_expression "puVar8 + 0x54710" (identifier "puVar8") (+ "+") (number_literal "0x54710")) () ")"))))) () ")")) (argument_list "(pcVar10,uVar5)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar5") () ")")))) (; ";")) (if_statement "if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }" (if "if") (parenthesized_expression "((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0))" (( "(") (binary_expression "(iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)" (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)" (( "(") (comma_expression "pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x546c4)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(puVar8 + 0x546c4)" (* "*") (cast_expression "(code **)(puVar8 + 0x546c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x546c4)" (( "(") (binary_expression "puVar8 + 0x546c4" (identifier "puVar8") (+ "+") (number_literal "0x546c4")) () ")"))))) (, ",") (binary_expression "local_68 != 0" (identifier "local_68") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        *piVar30 = local_68;\n        (*pcVar9)(uVar4);\n        if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }\n        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);\n        pcVar9 = pcVar10;\n        goto LAB_00061bec;\n      }" ({ "{") (expression_statement "*piVar30 = local_68;" (assignment_expression "*piVar30 = local_68" (pointer_expression "*piVar30" (* "*") (identifier "piVar30")) (= "=") (identifier "local_68")) (; ";")) (expression_statement "(*pcVar9)(uVar4);" (call_expression "(*pcVar9)(uVar4)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (if_statement "if (param_4 != (undefined4 *)0x0) {\n          *param_4 = 2;\n        }" (if "if") (parenthesized_expression "(param_4 != (undefined4 *)0x0)" (( "(") (binary_expression "param_4 != (undefined4 *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *param_4 = 2;\n        }" ({ "{") (expression_statement "*param_4 = 2;" (assignment_expression "*param_4 = 2" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (number_literal "2")) (; ";")) (} "}"))) (expression_statement "pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);" (assignment_expression "pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(**(code **)(puVar8 + 0x53790))(unaff_s6)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar8 + 0x53790))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar8 + 0x53790))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x53790)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x53790)" (* "*") (cast_expression "(code **)(puVar8 + 0x53790)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x53790)" (( "(") (binary_expression "puVar8 + 0x53790" (identifier "puVar8") (+ "+") (number_literal "0x53790")) () ")"))))) () ")")) (argument_list "(unaff_s6)" (( "(") (identifier "unaff_s6") () ")"))))) (; ";")) (expression_statement "pcVar9 = pcVar10;" (assignment_expression "pcVar9 = pcVar10" (identifier "pcVar9") (= "=") (identifier "pcVar10")) (; ";")) (goto_statement "goto LAB_00061bec;" (goto "goto") (statement_identifier "LAB_00061bec") (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(puVar8 + 0x546c4))(uVar4);" (call_expression "(**(code **)(puVar8 + 0x546c4))(uVar4)" (parenthesized_expression "(**(code **)(puVar8 + 0x546c4))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x546c4)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x546c4)" (* "*") (cast_expression "(code **)(puVar8 + 0x546c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x546c4)" (( "(") (binary_expression "puVar8 + 0x546c4" (identifier "puVar8") (+ "+") (number_literal "0x546c4")) () ")"))))) () ")")) (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "pcVar9 = pcVar10;" (assignment_expression "pcVar9 = pcVar10" (identifier "pcVar9") (= "=") (identifier "pcVar10")) (; ";")) (} "}"))) (labeled_statement "LAB_00061bec:\n  if (local_64 == *piVar35) {\n    return pcVar31;\n  }" (statement_identifier "LAB_00061bec") (: ":") (if_statement "if (local_64 == *piVar35) {\n    return pcVar31;\n  }" (if "if") (parenthesized_expression "(local_64 == *piVar35)" (( "(") (binary_expression "local_64 == *piVar35" (identifier "local_64") (== "==") (pointer_expression "*piVar35" (* "*") (identifier "piVar35"))) () ")")) (compound_statement "{\n    return pcVar31;\n  }" ({ "{") (return_statement "return pcVar31;" (return "return") (identifier "pcVar31") (; ";")) (} "}")))) (expression_statement "pcVar10 = *(code **)(puVar8 + 0x542f4);" (assignment_expression "pcVar10 = *(code **)(puVar8 + 0x542f4)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(puVar8 + 0x542f4)" (* "*") (cast_expression "(code **)(puVar8 + 0x542f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x542f4)" (( "(") (binary_expression "puVar8 + 0x542f4" (identifier "puVar8") (+ "+") (number_literal "0x542f4")) () ")"))))) (; ";")) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar11 = *(int **)(pcVar10 + 0x5445c);" (assignment_expression "piVar11 = *(int **)(pcVar10 + 0x5445c)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(pcVar10 + 0x5445c)" (* "*") (cast_expression "(int **)(pcVar10 + 0x5445c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x5445c)" (( "(") (binary_expression "pcVar10 + 0x5445c" (identifier "pcVar10") (+ "+") (number_literal "0x5445c")) () ")"))))) (; ";")) (expression_statement "piVar32 = (int *)0x8000;" (assignment_expression "piVar32 = (int *)0x8000" (identifier "piVar32") (= "=") (cast_expression "(int *)0x8000" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8000"))) (; ";")) (expression_statement "pcStack_b4 = (code *)*piVar11;" (assignment_expression "pcStack_b4 = (code *)*piVar11" (identifier "pcStack_b4") (= "=") (cast_expression "(code *)*piVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (expression_statement "pcStack_b0 = pcVar31;" (assignment_expression "pcStack_b0 = pcVar31" (identifier "pcStack_b0") (= "=") (identifier "pcVar31")) (; ";")) (expression_statement "uStack_ac = uVar4;" (assignment_expression "uStack_ac = uVar4" (identifier "uStack_ac") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "piStack_a8 = piVar35;" (assignment_expression "piStack_a8 = piVar35" (identifier "piStack_a8") (= "=") (identifier "piVar35")) (; ";")) (expression_statement "pcStack_a4 = pcVar24;" (assignment_expression "pcStack_a4 = pcVar24" (identifier "pcStack_a4") (= "=") (identifier "pcVar24")) (; ";")) (expression_statement "puStack_a0 = param_4;" (assignment_expression "puStack_a0 = param_4" (identifier "puStack_a0") (= "=") (identifier "param_4")) (; ";")) (expression_statement "piStack_9c = piVar30;" (assignment_expression "piStack_9c = piVar30" (identifier "piStack_9c") (= "=") (identifier "piVar30")) (; ";")) (expression_statement "iStack_98 = unaff_s6;" (assignment_expression "iStack_98 = unaff_s6" (identifier "iStack_98") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "uVar4 = (**(code **)(pcVar10 + 0x54200))();" (assignment_expression "uVar4 = (**(code **)(pcVar10 + 0x54200))()" (identifier "uVar4") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54200))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x54200))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54200)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54200)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54200)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54200)" (( "(") (binary_expression "pcVar10 + 0x54200" (identifier "pcVar10") (+ "+") (number_literal "0x54200")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);" (assignment_expression "uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53dac))(uVar4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53dac))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53dac)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53dac)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53dac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53dac)" (( "(") (binary_expression "pcVar10 + 0x53dac" (identifier "pcVar10") (+ "+") (number_literal "0x53dac")) () ")"))))) () ")")) (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "iVar7 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar7 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (while_statement "while( true ) {\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    piVar30 = piVar32;\n    piVar35 = &iStack_b8;\n    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);\n    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);\n    if (piVar25 != (int *)0x0) break;\n    piVar32 = (int *)((int)piVar32 << 1);\n    (**(code **)(pcVar10 + 0x544e0))(puVar12);\n  }" ({ "{") (expression_statement "piVar30 = piVar32;" (assignment_expression "piVar30 = piVar32" (identifier "piVar30") (= "=") (identifier "piVar32")) (; ";")) (expression_statement "piVar35 = &iStack_b8;" (assignment_expression "piVar35 = &iStack_b8" (identifier "piVar35") (= "=") (pointer_expression "&iStack_b8" (& "&") (identifier "iStack_b8"))) (; ";")) (expression_statement "puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);" (assignment_expression "puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32)" (identifier "puVar12") (= "=") (cast_expression "(uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54470))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54470)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54470)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54470)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54470)" (( "(") (binary_expression "pcVar10 + 0x54470" (identifier "pcVar10") (+ "+") (number_literal "0x54470")) () ")"))))) () ")")) (argument_list "(uVar4,iVar7 + -0x3680,piVar32)" (( "(") (identifier "uVar4") (, ",") (binary_expression "iVar7 + -0x3680" (identifier "iVar7") (+ "+") (number_literal "-0x3680")) (, ",") (identifier "piVar32") () ")"))))) (; ";")) (expression_statement "piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);" (assignment_expression "piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32)" (identifier "piVar25") (= "=") (cast_expression "(int *)(uint)(iStack_b8 < (int)piVar32)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(iStack_b8 < (int)piVar32)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iStack_b8 < (int)piVar32)" (( "(") (binary_expression "iStack_b8 < (int)piVar32" (identifier "iStack_b8") (< "<") (cast_expression "(int)piVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar32"))) () ")"))))) (; ";")) (if_statement "if (piVar25 != (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar25 != (int *)0x0)" (( "(") (binary_expression "piVar25 != (int *)0x0" (identifier "piVar25") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar32 = (int *)((int)piVar32 << 1);" (assignment_expression "piVar32 = (int *)((int)piVar32 << 1)" (identifier "piVar32") (= "=") (cast_expression "(int *)((int)piVar32 << 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar32 << 1)" (( "(") (binary_expression "(int)piVar32 << 1" (cast_expression "(int)piVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar32")) (<< "<<") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar10 + 0x544e0))(puVar12);" (call_expression "(**(code **)(pcVar10 + 0x544e0))(puVar12)" (parenthesized_expression "(**(code **)(pcVar10 + 0x544e0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x544e0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x544e0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x544e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x544e0)" (( "(") (binary_expression "pcVar10 + 0x544e0" (identifier "pcVar10") (+ "+") (number_literal "0x544e0")) () ")"))))) () ")")) (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar32 = (int *)0x0;" (assignment_expression "piVar32 = (int *)0x0" (identifier "piVar32") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < iStack_b8) {\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }" (if "if") (parenthesized_expression "(0 < iStack_b8)" (( "(") (binary_expression "0 < iStack_b8" (number_literal "0") (< "<") (identifier "iStack_b8")) () ")")) (compound_statement "{\n    iVar7 = *(int *)(pcVar10 + 0x53578);\n    iVar41 = 0;\n    iVar18 = *(int *)(pcVar10 + 0x53578);\n    piVar32 = (int *)0x0;\n    iVar22 = *(int *)(pcVar10 + 0x53578);\n    uVar4 = *(undefined4 *)(iVar7 + -0x360c);\n    iVar26 = *(int *)(pcVar10 + 0x5355c);\n    iVar13 = *(int *)(pcVar10 + 0x53aac);\n    iStack_ec = 0;\n    uVar5 = *(undefined4 *)(iVar18 + -0x3614);\n    iVar27 = *(int *)(pcVar10 + 0x53578);\n    uVar6 = *(undefined4 *)(iVar22 + -0x362c);\n    puVar36 = puVar12;\n    do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);\n  }" ({ "{") (expression_statement "iVar7 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar7 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (expression_statement "iVar41 = 0;" (assignment_expression "iVar41 = 0" (identifier "iVar41") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar18 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar18 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (expression_statement "piVar32 = (int *)0x0;" (assignment_expression "piVar32 = (int *)0x0" (identifier "piVar32") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar22 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar22 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(iVar7 + -0x360c);" (assignment_expression "uVar4 = *(undefined4 *)(iVar7 + -0x360c)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar7 + -0x360c)" (* "*") (cast_expression "(undefined4 *)(iVar7 + -0x360c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + -0x360c)" (( "(") (binary_expression "iVar7 + -0x360c" (identifier "iVar7") (+ "+") (number_literal "-0x360c")) () ")"))))) (; ";")) (expression_statement "iVar26 = *(int *)(pcVar10 + 0x5355c);" (assignment_expression "iVar26 = *(int *)(pcVar10 + 0x5355c)" (identifier "iVar26") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x5355c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x5355c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x5355c)" (( "(") (binary_expression "pcVar10 + 0x5355c" (identifier "pcVar10") (+ "+") (number_literal "0x5355c")) () ")"))))) (; ";")) (expression_statement "iVar13 = *(int *)(pcVar10 + 0x53aac);" (assignment_expression "iVar13 = *(int *)(pcVar10 + 0x53aac)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53aac)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53aac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53aac)" (( "(") (binary_expression "pcVar10 + 0x53aac" (identifier "pcVar10") (+ "+") (number_literal "0x53aac")) () ")"))))) (; ";")) (expression_statement "iStack_ec = 0;" (assignment_expression "iStack_ec = 0" (identifier "iStack_ec") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(iVar18 + -0x3614);" (assignment_expression "uVar5 = *(undefined4 *)(iVar18 + -0x3614)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(iVar18 + -0x3614)" (* "*") (cast_expression "(undefined4 *)(iVar18 + -0x3614)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + -0x3614)" (( "(") (binary_expression "iVar18 + -0x3614" (identifier "iVar18") (+ "+") (number_literal "-0x3614")) () ")"))))) (; ";")) (expression_statement "iVar27 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar27 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (expression_statement "uVar6 = *(undefined4 *)(iVar22 + -0x362c);" (assignment_expression "uVar6 = *(undefined4 *)(iVar22 + -0x362c)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(iVar22 + -0x362c)" (* "*") (cast_expression "(undefined4 *)(iVar22 + -0x362c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + -0x362c)" (( "(") (binary_expression "iVar22 + -0x362c" (identifier "iVar22") (+ "+") (number_literal "-0x362c")) () ")"))))) (; ";")) (expression_statement "puVar36 = puVar12;" (assignment_expression "puVar36 = puVar12" (identifier "puVar36") (= "=") (identifier "puVar12")) (; ";")) (do_statement "do {\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    } while (iVar41 < iStack_b8);" (do "do") (compound_statement "{\n      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);\n      if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }\n      iVar41 = iVar41 + 1;\n      puVar36 = puVar36 + 1;\n    }" ({ "{") (expression_statement "puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);" (assignment_expression "puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36)" (identifier "puVar14") (= "=") (cast_expression "(undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(iVar13 + 0x116c))(*puVar36)" (parenthesized_expression "(*(code *)(iVar13 + 0x116c))" (( "(") (pointer_expression "*(code *)(iVar13 + 0x116c)" (* "*") (cast_expression "(code *)(iVar13 + 0x116c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x116c)" (( "(") (binary_expression "iVar13 + 0x116c" (identifier "iVar13") (+ "+") (number_literal "0x116c")) () ")")))) () ")")) (argument_list "(*puVar36)" (( "(") (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) () ")"))))) (; ";")) (if_statement "if (puVar14 == (undefined4 *)0x0) {\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }\n      else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }" (if "if") (parenthesized_expression "(puVar14 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar14 == (undefined4 *)0x0" (identifier "puVar14") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        piVar25 = (int *)*puVar36;\n        piVar35 = (int *)0x0;\n        iStack_150 = iVar26 + 0x4768;\n        iStack_154 = 4;\n        iStack_158 = 0;\n        in_stack_fffffea4 = (undefined1 *)0x0;\n        in_stack_fffffea0 = (undefined4 *)0x0;\n        piVar30 = piVar25;\n        (*pcVar9)(piVar28);\n        (**(code **)(pcVar10 + 0x53574))(0);\n      }" ({ "{") (expression_statement "piVar25 = (int *)*puVar36;" (assignment_expression "piVar25 = (int *)*puVar36" (identifier "piVar25") (= "=") (cast_expression "(int *)*puVar36" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar36" (* "*") (identifier "puVar36")))) (; ";")) (expression_statement "piVar35 = (int *)0x0;" (assignment_expression "piVar35 = (int *)0x0" (identifier "piVar35") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_150 = iVar26 + 0x4768;" (assignment_expression "iStack_150 = iVar26 + 0x4768" (identifier "iStack_150") (= "=") (binary_expression "iVar26 + 0x4768" (identifier "iVar26") (+ "+") (number_literal "0x4768"))) (; ";")) (expression_statement "iStack_154 = 4;" (assignment_expression "iStack_154 = 4" (identifier "iStack_154") (= "=") (number_literal "4")) (; ";")) (expression_statement "iStack_158 = 0;" (assignment_expression "iStack_158 = 0" (identifier "iStack_158") (= "=") (number_literal "0")) (; ";")) (expression_statement "in_stack_fffffea4 = (undefined1 *)0x0;" (assignment_expression "in_stack_fffffea4 = (undefined1 *)0x0" (identifier "in_stack_fffffea4") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "in_stack_fffffea0 = (undefined4 *)0x0;" (assignment_expression "in_stack_fffffea0 = (undefined4 *)0x0" (identifier "in_stack_fffffea0") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar30 = piVar25;" (assignment_expression "piVar30 = piVar25" (identifier "piVar30") (= "=") (identifier "piVar25")) (; ";")) (expression_statement "(*pcVar9)(piVar28);" (call_expression "(*pcVar9)(piVar28)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar28)" (( "(") (identifier "piVar28") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar10 + 0x53574))(0);" (call_expression "(**(code **)(pcVar10 + 0x53574))(0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53574))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53574)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53574)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53574)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53574)" (( "(") (binary_expression "pcVar10 + 0x53574" (identifier "pcVar10") (+ "+") (number_literal "0x53574")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }" (else "else") (compound_statement "{\n        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);\n        iVar15 = (iVar15 + 0x40) * 4;\n        if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);\n        piVar40 = (int *)((int)piVar32 + iVar16 + 1);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);\n        pcVar29 = (char *)puVar14[2];\n        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);\n        if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }\n        iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);\n        puVar33 = (undefined4 *)((int)puVar38 + iVar16);\n        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);\n        if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }\n        puVar34 = (undefined1 *)((int)puVar33 + 1);\n        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);\n        if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }\n        iVar17 = *(int *)(pcVar10 + 0x53578);\n        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);\n        if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }\n        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);\n        iStack_158 = puVar14[2];\n        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);\n        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);\n        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);\n        piVar30 = (int *)0xffffffff;\n        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);\n        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);\n        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }\n        piVar37 = *(int **)(pcVar10 + 0x53690);\n        pcVar29 = (char *)puVar14[10];\n        iVar15 = *(int *)(pcVar10 + 0x53578);\n        pcVar24 = *(code **)(pcVar10 + 0x54198);\n        *piVar37 = 2;\n        piVar25 = (int *)(int)*pcVar29;\n        iVar15 = (*pcVar24)(iVar15 + -0x3590);\n        if (iVar15 == 0) {\n          *piVar37 = 10;\n        }\n        iVar15 = puVar14[6];\n        pcVar24 = *(code **)(pcVar10 + 0x53574);\n        in_stack_fffffea0 = puStack_f4;\n        if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }\n        (*pcVar24)(puVar14);\n      }" ({ "{") (expression_statement "iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);" (assignment_expression "iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54364))(*puVar36)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54364)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54364)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54364)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54364)" (( "(") (binary_expression "pcVar10 + 0x54364" (identifier "pcVar10") (+ "+") (number_literal "0x54364")) () ")"))))) () ")")) (argument_list "(*puVar36)" (( "(") (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) () ")")))) (; ";")) (expression_statement "iVar15 = (iVar15 + 0x40) * 4;" (assignment_expression "iVar15 = (iVar15 + 0x40) * 4" (identifier "iVar15") (= "=") (binary_expression "(iVar15 + 0x40) * 4" (parenthesized_expression "(iVar15 + 0x40)" (( "(") (binary_expression "iVar15 + 0x40" (identifier "iVar15") (+ "+") (number_literal "0x40")) () ")")) (* "*") (number_literal "4"))) (; ";")) (if_statement "if (iStack_ec < iVar15) {\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }" (if "if") (parenthesized_expression "(iStack_ec < iVar15)" (( "(") (binary_expression "iStack_ec < iVar15" (identifier "iStack_ec") (< "<") (identifier "iVar15")) () ")")) (compound_statement "{\n          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);\n          iStack_ec = iVar15;\n        }" ({ "{") (expression_statement "piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);" (assignment_expression "piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1)" (identifier "piVar32") (= "=") (cast_expression "(int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1)" (parenthesized_expression "(**(code **)(pcVar10 + 0x5366c))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x5366c)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x5366c)" (* "*") (cast_expression "(code **)(pcVar10 + 0x5366c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x5366c)" (( "(") (binary_expression "pcVar10 + 0x5366c" (identifier "pcVar10") (+ "+") (number_literal "0x5366c")) () ")"))))) () ")")) (argument_list "(piVar32,iVar15,1)" (( "(") (identifier "piVar32") (, ",") (identifier "iVar15") (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "iStack_ec = iVar15;" (assignment_expression "iStack_ec = iVar15" (identifier "iStack_ec") (= "=") (identifier "iVar15")) (; ";")) (} "}"))) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54344))\n                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54344)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54344)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54344)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54344)" (( "(") (binary_expression "pcVar10 + 0x54344" (identifier "pcVar10") (+ "+") (number_literal "0x54344")) () ")"))))) () ")")) (argument_list "(piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14)" (( "(") (identifier "piVar32") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (binary_expression "iVar27 + -0x3668" (identifier "iVar27") (+ "+") (number_literal "-0x3668")) (, ",") (subscript_expression "puVar14[1]" (identifier "puVar14") ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")")))) (; ";")) (expression_statement "piVar40 = (int *)((int)piVar32 + iVar16 + 1);" (assignment_expression "piVar40 = (int *)((int)piVar32 + iVar16 + 1)" (identifier "piVar40") (= "=") (cast_expression "(int *)((int)piVar32 + iVar16 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar32 + iVar16 + 1)" (( "(") (binary_expression "(int)piVar32 + iVar16 + 1" (binary_expression "(int)piVar32 + iVar16" (cast_expression "(int)piVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar32")) (+ "+") (identifier "iVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd]);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd])" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54344))\n                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54344)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54344)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54344)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54344)" (( "(") (binary_expression "pcVar10 + 0x54344" (identifier "pcVar10") (+ "+") (number_literal "0x54344")) () ")"))))) () ")")) (argument_list "(piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],\n                            puVar14[0xd])" (( "(") (identifier "piVar40") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3688" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x3688")) (, ",") (subscript_expression "puVar14[0xc]" (identifier "puVar14") ([ "[") (number_literal "0xc") (] "]")) (, ",") (subscript_expression "puVar14[0xd]" (identifier "puVar14") ([ "[") (number_literal "0xd") (] "]")) () ")")))) (; ";")) (expression_statement "pcVar29 = (char *)puVar14[2];" (assignment_expression "pcVar29 = (char *)puVar14[2]" (identifier "pcVar29") (= "=") (cast_expression "(char *)puVar14[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);" (assignment_expression "puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1)" (identifier "puVar38") (= "=") (cast_expression "(undefined4 *)((int)piVar40 + iVar16 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar40 + iVar16 + 1)" (( "(") (binary_expression "(int)piVar40 + iVar16 + 1" (binary_expression "(int)piVar40 + iVar16" (cast_expression "(int)piVar40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar40")) (+ "+") (identifier "iVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (*pcVar29 == '\0') {\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }" (if "if") (parenthesized_expression "(*pcVar29 == '\0')" (( "(") (binary_expression "*pcVar29 == '\0'" (pointer_expression "*pcVar29" (* "*") (identifier "pcVar29")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);\n        }" ({ "{") (expression_statement "pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);" (assignment_expression "pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670)" (identifier "pcVar29") (= "=") (cast_expression "(char *)(*(int *)(pcVar10 + 0x53578) + -0x3670)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x3670)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3670" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x3670")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54320))\n                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54320))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54320)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54320)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54320)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54320)" (( "(") (binary_expression "pcVar10 + 0x54320" (identifier "pcVar10") (+ "+") (number_literal "0x54320")) () ")"))))) () ")")) (argument_list "(puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29)" (( "(") (identifier "puVar38") (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x40d8" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x40d8")) (, ",") (identifier "pcVar29") () ")")))) (; ";")) (expression_statement "puVar33 = (undefined4 *)((int)puVar38 + iVar16);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar38 + iVar16)" (identifier "puVar33") (= "=") (cast_expression "(undefined4 *)((int)puVar38 + iVar16)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar38 + iVar16)" (( "(") (binary_expression "(int)puVar38 + iVar16" (cast_expression "(int)puVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar38")) (+ "+") (identifier "iVar16")) () ")")))) (; ";")) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660)" (( "(") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3660" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x3660")) () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }\n        else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);\n          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);\n          puVar33[1] = uVar39;\n          puVar33 = (undefined4 *)((int)puVar33 + 7);\nLAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 == '\0') goto LAB_00061ef8;\nLAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);\n          if (iVar17 == 0) goto LAB_00061ef8;\n          iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 == 0) goto LAB_000622e8;\nLAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);\n          if (iVar17 != 0) goto LAB_00061f30;\nLAB_00062324:\n          *puVar33 = uVar4;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" ({ "{") (expression_statement "uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);" (assignment_expression "uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c)" (identifier "uVar39") (= "=") (pointer_expression "*(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x364c)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x364c" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x364c")) () ")"))))) (; ";")) (expression_statement "*puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);" (assignment_expression "*puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650)" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x3650)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3650" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x3650")) () ")"))))) (; ";")) (expression_statement "puVar33[1] = uVar39;" (assignment_expression "puVar33[1] = uVar39" (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar39")) (; ";")) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + 7);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + 7)" (identifier "puVar33") (= "=") (cast_expression "(undefined4 *)((int)puVar33 + 7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar33 + 7)" (( "(") (binary_expression "(int)puVar33 + 7" (cast_expression "(int)puVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar33")) (+ "+") (number_literal "7")) () ")")))) (; ";")) (labeled_statement "LAB_00061ee8:\n          pcVar29 = (char *)puVar14[4];" (statement_identifier "LAB_00061ee8") (: ":") (expression_statement "pcVar29 = (char *)puVar14[4];" (assignment_expression "pcVar29 = (char *)puVar14[4]" (identifier "pcVar29") (= "=") (cast_expression "(char *)puVar14[4]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (if_statement "if (*pcVar29 == '\0') goto LAB_00061ef8;" (if "if") (parenthesized_expression "(*pcVar29 == '\0')" (( "(") (binary_expression "*pcVar29 == '\0'" (pointer_expression "*pcVar29" (* "*") (identifier "pcVar29")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00061ef8;" (goto "goto") (statement_identifier "LAB_00061ef8") (; ";"))) (labeled_statement "LAB_0006228c:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);" (statement_identifier "LAB_0006228c") (: ":") (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(pcVar29,iVar16 + -0x361c)" (( "(") (identifier "pcVar29") (, ",") (binary_expression "iVar16 + -0x361c" (identifier "iVar16") (+ "+") (number_literal "-0x361c")) () ")")))) (; ";"))) (if_statement "if (iVar17 == 0) goto LAB_00061ef8;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00061ef8;" (goto "goto") (statement_identifier "LAB_00061ef8") (; ";"))) (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])\n          ;" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54344))\n                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54344)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54344)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54344)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54344)" (( "(") (binary_expression "pcVar10 + 0x54344" (identifier "pcVar10") (+ "+") (number_literal "0x54344")) () ")"))))) () ")")) (argument_list "(puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])" (( "(") (identifier "puVar33") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x12b0" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x12b0")) (, ",") (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]")) () ")")))) (; ";")) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + iVar17);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + iVar17)" (identifier "puVar33") (= "=") (cast_expression "(undefined4 *)((int)puVar33 + iVar17)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar33 + iVar17)" (( "(") (binary_expression "(int)puVar33 + iVar17" (cast_expression "(int)puVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar33")) (+ "+") (identifier "iVar17")) () ")")))) (; ";")) (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" (( "(") (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x6dc4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x6dc4")) () ")")))) (; ";")) (if_statement "if (iVar17 == 0) goto LAB_000622e8;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000622e8;" (goto "goto") (statement_identifier "LAB_000622e8") (; ";"))) (labeled_statement "LAB_00061f14:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);" (statement_identifier "LAB_00061f14") (: ":") (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724)" (( "(") (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x2724" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x2724")) () ")")))) (; ";"))) (if_statement "if (iVar17 != 0) goto LAB_00061f30;" (if "if") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00061f30;" (goto "goto") (statement_identifier "LAB_00061f30") (; ";"))) (labeled_statement "LAB_00062324:\n          *puVar33 = uVar4;" (statement_identifier "LAB_00062324") (: ":") (expression_statement "*puVar33 = uVar4;" (assignment_expression "*puVar33 = uVar4" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (= "=") (identifier "uVar4")) (; ";"))) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" (identifier "puVar33") (= "=") (binary_expression "puVar33 + 1" (identifier "puVar33") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);" (assignment_expression "*(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608)" (pointer_expression "*(undefined1 *)puVar33" (* "*") (cast_expression "(undefined1 *)puVar33" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar33"))) (= "=") (pointer_expression "*(undefined1 *)(iVar7 + -0x3608)" (* "*") (cast_expression "(undefined1 *)(iVar7 + -0x3608)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + -0x3608)" (( "(") (binary_expression "iVar7 + -0x3608" (identifier "iVar7") (+ "+") (number_literal "-0x3608")) () ")"))))) (; ";")) (expression_statement "pcVar29 = (char *)puVar14[5];" (assignment_expression "pcVar29 = (char *)puVar14[5]" (identifier "pcVar29") (= "=") (cast_expression "(char *)puVar14[5]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[5]" (identifier "puVar14") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "cVar1 = *pcVar29;" (assignment_expression "cVar1 = *pcVar29" (identifier "cVar1") (= "=") (pointer_expression "*pcVar29" (* "*") (identifier "pcVar29"))) (; ";")) (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" (else "else") (compound_statement "{\n          iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);\n          if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n          uVar2 = *(undefined1 *)(iVar16 + -0x3634);\n          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);\n          puVar33[1] = uVar39;\n          puVar33 = puVar33 + 2;\n          *(undefined1 *)puVar33 = uVar2;\n          pcVar29 = (char *)puVar14[4];\n          iVar16 = *(int *)(pcVar10 + 0x53578);\n          if (*pcVar29 != '\0') goto LAB_0006228c;\nLAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);\n          if (iVar17 != 0) goto LAB_00061f14;\nLAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n          pcVar24 = *(code **)(pcVar10 + 0x53f38);\n          *puVar33 = uVar5;\n          puVar33 = puVar33 + 1;\n          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);\n          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);\n          if (iVar17 == 0) goto LAB_00062324;\nLAB_00061f30:\n          pcVar29 = (char *)puVar14[5];\n          cVar1 = *pcVar29;\n          iVar17 = *(int *)(pcVar10 + 0x53578);\n        }" ({ "{") (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc)" (( "(") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x72bc" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x72bc")) () ")")))) (; ";")) (if_statement "if (iVar16 != 0) {\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);\n            if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }\n            goto LAB_00061ee8;\n          }" ({ "{") (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c)" (( "(") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x365c" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x365c")) () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }\n            else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar16 = *(int *)(pcVar10 + 0x53578);\n              uVar23 = *(undefined4 *)(iVar16 + -0x3654);\n              uVar19 = *(undefined4 *)(iVar16 + -0x3650);\n              uVar39 = *(undefined4 *)(iVar16 + -0x364c);\n              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);\n              puVar33[1] = uVar23;\n              puVar33[2] = uVar19;\n              puVar33[3] = uVar39;\n              puVar33 = (undefined4 *)((int)puVar33 + 0xf);\n            }" ({ "{") (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (expression_statement "uVar23 = *(undefined4 *)(iVar16 + -0x3654);" (assignment_expression "uVar23 = *(undefined4 *)(iVar16 + -0x3654)" (identifier "uVar23") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x3654)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x3654)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x3654)" (( "(") (binary_expression "iVar16 + -0x3654" (identifier "iVar16") (+ "+") (number_literal "-0x3654")) () ")"))))) (; ";")) (expression_statement "uVar19 = *(undefined4 *)(iVar16 + -0x3650);" (assignment_expression "uVar19 = *(undefined4 *)(iVar16 + -0x3650)" (identifier "uVar19") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x3650)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x3650)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x3650)" (( "(") (binary_expression "iVar16 + -0x3650" (identifier "iVar16") (+ "+") (number_literal "-0x3650")) () ")"))))) (; ";")) (expression_statement "uVar39 = *(undefined4 *)(iVar16 + -0x364c);" (assignment_expression "uVar39 = *(undefined4 *)(iVar16 + -0x364c)" (identifier "uVar39") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x364c)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x364c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x364c)" (( "(") (binary_expression "iVar16 + -0x364c" (identifier "iVar16") (+ "+") (number_literal "-0x364c")) () ")"))))) (; ";")) (expression_statement "*puVar33 = *(undefined4 *)(iVar16 + -0x3658);" (assignment_expression "*puVar33 = *(undefined4 *)(iVar16 + -0x3658)" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x3658)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x3658)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x3658)" (( "(") (binary_expression "iVar16 + -0x3658" (identifier "iVar16") (+ "+") (number_literal "-0x3658")) () ")"))))) (; ";")) (expression_statement "puVar33[1] = uVar23;" (assignment_expression "puVar33[1] = uVar23" (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar23")) (; ";")) (expression_statement "puVar33[2] = uVar19;" (assignment_expression "puVar33[2] = uVar19" (subscript_expression "puVar33[2]" (identifier "puVar33") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "puVar33[3] = uVar39;" (assignment_expression "puVar33[3] = uVar39" (subscript_expression "puVar33[3]" (identifier "puVar33") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar39")) (; ";")) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + 0xf);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + 0xf)" (identifier "puVar33") (= "=") (cast_expression "(undefined4 *)((int)puVar33 + 0xf)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar33 + 0xf)" (( "(") (binary_expression "(int)puVar33 + 0xf" (cast_expression "(int)puVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar33")) (+ "+") (number_literal "0xf")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }" (else "else") (compound_statement "{\n              iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);\n              if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }\n            }" ({ "{") (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648)" (( "(") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3648" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x3648")) () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }\n              else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                iVar16 = *(int *)(pcVar10 + 0x53578);\n                uVar23 = *(undefined4 *)(iVar16 + -0x3640);\n                uVar19 = *(undefined4 *)(iVar16 + -0x363c);\n                uVar39 = *(undefined4 *)(iVar16 + -0x3638);\n                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);\n                puVar33[1] = uVar23;\n                puVar33[2] = uVar19;\n                puVar33[3] = uVar39;\n                puVar33 = puVar33 + 4;\n                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);\n              }" ({ "{") (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (expression_statement "uVar23 = *(undefined4 *)(iVar16 + -0x3640);" (assignment_expression "uVar23 = *(undefined4 *)(iVar16 + -0x3640)" (identifier "uVar23") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x3640)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x3640)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x3640)" (( "(") (binary_expression "iVar16 + -0x3640" (identifier "iVar16") (+ "+") (number_literal "-0x3640")) () ")"))))) (; ";")) (expression_statement "uVar19 = *(undefined4 *)(iVar16 + -0x363c);" (assignment_expression "uVar19 = *(undefined4 *)(iVar16 + -0x363c)" (identifier "uVar19") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x363c)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x363c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x363c)" (( "(") (binary_expression "iVar16 + -0x363c" (identifier "iVar16") (+ "+") (number_literal "-0x363c")) () ")"))))) (; ";")) (expression_statement "uVar39 = *(undefined4 *)(iVar16 + -0x3638);" (assignment_expression "uVar39 = *(undefined4 *)(iVar16 + -0x3638)" (identifier "uVar39") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x3638)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x3638)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x3638)" (( "(") (binary_expression "iVar16 + -0x3638" (identifier "iVar16") (+ "+") (number_literal "-0x3638")) () ")"))))) (; ";")) (expression_statement "*puVar33 = *(undefined4 *)(iVar16 + -0x3644);" (assignment_expression "*puVar33 = *(undefined4 *)(iVar16 + -0x3644)" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x3644)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x3644)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x3644)" (( "(") (binary_expression "iVar16 + -0x3644" (identifier "iVar16") (+ "+") (number_literal "-0x3644")) () ")"))))) (; ";")) (expression_statement "puVar33[1] = uVar23;" (assignment_expression "puVar33[1] = uVar23" (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar23")) (; ";")) (expression_statement "puVar33[2] = uVar19;" (assignment_expression "puVar33[2] = uVar19" (subscript_expression "puVar33[2]" (identifier "puVar33") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "puVar33[3] = uVar39;" (assignment_expression "puVar33[3] = uVar39" (subscript_expression "puVar33[3]" (identifier "puVar33") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar39")) (; ";")) (expression_statement "puVar33 = puVar33 + 4;" (assignment_expression "puVar33 = puVar33 + 4" (identifier "puVar33") (= "=") (binary_expression "puVar33 + 4" (identifier "puVar33") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);" (assignment_expression "*(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634)" (pointer_expression "*(undefined1 *)puVar33" (* "*") (cast_expression "(undefined1 *)puVar33" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar33"))) (= "=") (pointer_expression "*(undefined1 *)(iVar16 + -0x3634)" (* "*") (cast_expression "(undefined1 *)(iVar16 + -0x3634)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x3634)" (( "(") (binary_expression "iVar16 + -0x3634" (identifier "iVar16") (+ "+") (number_literal "-0x3634")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }" (else "else") (compound_statement "{\n                iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);\n                if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }\n              }" ({ "{") (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630)" (( "(") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3630" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x3630")) () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  *puVar33 = uVar6;\n                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);\n                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);\n                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);\n                  puVar33[2] = uVar39;\n                  puVar33 = puVar33 + 3;\n                  *(undefined1 *)puVar33 = uVar2;\n                }" ({ "{") (expression_statement "*puVar33 = uVar6;" (assignment_expression "*puVar33 = uVar6" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uVar39 = *(undefined4 *)(iVar22 + -0x3624);" (assignment_expression "uVar39 = *(undefined4 *)(iVar22 + -0x3624)" (identifier "uVar39") (= "=") (pointer_expression "*(undefined4 *)(iVar22 + -0x3624)" (* "*") (cast_expression "(undefined4 *)(iVar22 + -0x3624)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + -0x3624)" (( "(") (binary_expression "iVar22 + -0x3624" (identifier "iVar22") (+ "+") (number_literal "-0x3624")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined1 *)(iVar22 + -0x3620);" (assignment_expression "uVar2 = *(undefined1 *)(iVar22 + -0x3620)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined1 *)(iVar22 + -0x3620)" (* "*") (cast_expression "(undefined1 *)(iVar22 + -0x3620)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + -0x3620)" (( "(") (binary_expression "iVar22 + -0x3620" (identifier "iVar22") (+ "+") (number_literal "-0x3620")) () ")"))))) (; ";")) (expression_statement "puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);" (assignment_expression "puVar33[1] = *(undefined4 *)(iVar22 + -0x3628)" (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(iVar22 + -0x3628)" (* "*") (cast_expression "(undefined4 *)(iVar22 + -0x3628)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + -0x3628)" (( "(") (binary_expression "iVar22 + -0x3628" (identifier "iVar22") (+ "+") (number_literal "-0x3628")) () ")"))))) (; ";")) (expression_statement "puVar33[2] = uVar39;" (assignment_expression "puVar33[2] = uVar39" (subscript_expression "puVar33[2]" (identifier "puVar33") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar39")) (; ";")) (expression_statement "puVar33 = puVar33 + 3;" (assignment_expression "puVar33 = puVar33 + 3" (identifier "puVar33") (= "=") (binary_expression "puVar33 + 3" (identifier "puVar33") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(undefined1 *)puVar33 = uVar2;" (assignment_expression "*(undefined1 *)puVar33 = uVar2" (pointer_expression "*(undefined1 *)puVar33" (* "*") (cast_expression "(undefined1 *)puVar33" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar33"))) (= "=") (identifier "uVar2")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (goto_statement "goto LAB_00061ee8;" (goto "goto") (statement_identifier "LAB_00061ee8") (; ";")) (} "}"))) (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (expression_statement "uVar39 = *(undefined4 *)(iVar16 + -0x3638);" (assignment_expression "uVar39 = *(undefined4 *)(iVar16 + -0x3638)" (identifier "uVar39") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x3638)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x3638)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x3638)" (( "(") (binary_expression "iVar16 + -0x3638" (identifier "iVar16") (+ "+") (number_literal "-0x3638")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined1 *)(iVar16 + -0x3634);" (assignment_expression "uVar2 = *(undefined1 *)(iVar16 + -0x3634)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined1 *)(iVar16 + -0x3634)" (* "*") (cast_expression "(undefined1 *)(iVar16 + -0x3634)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x3634)" (( "(") (binary_expression "iVar16 + -0x3634" (identifier "iVar16") (+ "+") (number_literal "-0x3634")) () ")"))))) (; ";")) (expression_statement "*puVar33 = *(undefined4 *)(iVar16 + -0x363c);" (assignment_expression "*puVar33 = *(undefined4 *)(iVar16 + -0x363c)" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x363c)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x363c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x363c)" (( "(") (binary_expression "iVar16 + -0x363c" (identifier "iVar16") (+ "+") (number_literal "-0x363c")) () ")"))))) (; ";")) (expression_statement "puVar33[1] = uVar39;" (assignment_expression "puVar33[1] = uVar39" (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar39")) (; ";")) (expression_statement "puVar33 = puVar33 + 2;" (assignment_expression "puVar33 = puVar33 + 2" (identifier "puVar33") (= "=") (binary_expression "puVar33 + 2" (identifier "puVar33") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(undefined1 *)puVar33 = uVar2;" (assignment_expression "*(undefined1 *)puVar33 = uVar2" (pointer_expression "*(undefined1 *)puVar33" (* "*") (cast_expression "(undefined1 *)puVar33" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar33"))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "pcVar29 = (char *)puVar14[4];" (assignment_expression "pcVar29 = (char *)puVar14[4]" (identifier "pcVar29") (= "=") (cast_expression "(char *)puVar14[4]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "iVar16 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar16 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (if_statement "if (*pcVar29 != '\0') goto LAB_0006228c;" (if "if") (parenthesized_expression "(*pcVar29 != '\0')" (( "(") (binary_expression "*pcVar29 != '\0'" (pointer_expression "*pcVar29" (* "*") (identifier "pcVar29")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0006228c;" (goto "goto") (statement_identifier "LAB_0006228c") (; ";"))) (labeled_statement "LAB_00061ef8:\n          iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);" (statement_identifier "LAB_00061ef8") (: ":") (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4)" (( "(") (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x6dc4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x6dc4")) () ")")))) (; ";"))) (if_statement "if (iVar17 != 0) goto LAB_00061f14;" (if "if") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00061f14;" (goto "goto") (statement_identifier "LAB_00061f14") (; ";"))) (labeled_statement "LAB_000622e8:\n          iVar17 = *(int *)(pcVar10 + 0x53578);" (statement_identifier "LAB_000622e8") (: ":") (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";"))) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x53f38);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x53f38)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) (; ";")) (expression_statement "*puVar33 = uVar5;" (assignment_expression "*puVar33 = uVar5" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" (identifier "puVar33") (= "=") (binary_expression "puVar33 + 1" (identifier "puVar33") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);" (assignment_expression "*(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610)" (pointer_expression "*(undefined1 *)puVar33" (* "*") (cast_expression "(undefined1 *)puVar33" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar33"))) (= "=") (pointer_expression "*(undefined1 *)(iVar18 + -0x3610)" (* "*") (cast_expression "(undefined1 *)(iVar18 + -0x3610)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + -0x3610)" (( "(") (binary_expression "iVar18 + -0x3610" (identifier "iVar18") (+ "+") (number_literal "-0x3610")) () ")"))))) (; ";")) (expression_statement "iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);" (assignment_expression "iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724)" (identifier "iVar17") (= "=") (call_expression "(*pcVar24)(puVar14[10],iVar17 + -0x2724)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(puVar14[10],iVar17 + -0x2724)" (( "(") (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]")) (, ",") (binary_expression "iVar17 + -0x2724" (identifier "iVar17") (+ "+") (number_literal "-0x2724")) () ")")))) (; ";")) (if_statement "if (iVar17 == 0) goto LAB_00062324;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00062324;" (goto "goto") (statement_identifier "LAB_00062324") (; ";"))) (labeled_statement "LAB_00061f30:\n          pcVar29 = (char *)puVar14[5];" (statement_identifier "LAB_00061f30") (: ":") (expression_statement "pcVar29 = (char *)puVar14[5];" (assignment_expression "pcVar29 = (char *)puVar14[5]" (identifier "pcVar29") (= "=") (cast_expression "(char *)puVar14[5]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[5]" (identifier "puVar14") ([ "[") (number_literal "5") (] "]")))) (; ";"))) (expression_statement "cVar1 = *pcVar29;" (assignment_expression "cVar1 = *pcVar29" (identifier "cVar1") (= "=") (pointer_expression "*pcVar29" (* "*") (identifier "pcVar29"))) (; ";")) (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (cVar1 != '\0') {\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);\n          puVar33 = (undefined4 *)((int)puVar33 + iVar17);\n        }" ({ "{") (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54344)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54344)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54344)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54344)" (( "(") (binary_expression "pcVar10 + 0x54344" (identifier "pcVar10") (+ "+") (number_literal "0x54344")) () ")"))))) () ")")) (argument_list "(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29)" (( "(") (identifier "puVar33") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (binary_expression "iVar17 + -0x12b0" (identifier "iVar17") (+ "+") (number_literal "-0x12b0")) (, ",") (identifier "pcVar29") () ")")))) (; ";")) (expression_statement "puVar33 = (undefined4 *)((int)puVar33 + iVar17);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar33 + iVar17)" (identifier "puVar33") (= "=") (cast_expression "(undefined4 *)((int)puVar33 + iVar17)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar33 + iVar17)" (( "(") (binary_expression "(int)puVar33 + iVar17" (cast_expression "(int)puVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar33")) (+ "+") (identifier "iVar17")) () ")")))) (; ";")) (} "}"))) (expression_statement "puVar34 = (undefined1 *)((int)puVar33 + 1);" (assignment_expression "puVar34 = (undefined1 *)((int)puVar33 + 1)" (identifier "puVar34") (= "=") (cast_expression "(undefined1 *)((int)puVar33 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar33 + 1)" (( "(") (binary_expression "(int)puVar33 + 1" (cast_expression "(int)puVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar33")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604)" (( "(") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3604" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x3604")) () ")")))) (; ";")) (if_statement "if ((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )) {\n          puStack_f4 = (undefined4 *)0x0;\n        }\n        else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }" (if "if") (parenthesized_expression "((((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 ))" (( "(") (binary_expression "(((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )" (parenthesized_expression "(((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)\n            )" (( "(") (binary_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))\n            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)" (parenthesized_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))" (( "(") (binary_expression "(iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0)" (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0)" (( "(") (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670)" (( "(") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x3670" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x3670")) () ")")))) (, ",") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)" (( "(") (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[2],iVar16 + -0x361c)" (( "(") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (, ",") (binary_expression "iVar16 + -0x361c" (identifier "iVar16") (+ "+") (number_literal "-0x361c")) () ")")))) (, ",") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0\n                 )" (( "(") (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))\n                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc)" (( "(") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35fc" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x35fc")) () ")")))) (, ",") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          puStack_f4 = (undefined4 *)0x0;\n        }" ({ "{") (expression_statement "puStack_f4 = (undefined4 *)0x0;" (assignment_expression "puStack_f4 = (undefined4 *)0x0" (identifier "puStack_f4") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }" (else "else") (compound_statement "{\n          iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);\n          if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }\n        }" ({ "{") (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54304))\n                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54304))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54304)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54304)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54304)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54304)" (( "(") (binary_expression "pcVar10 + 0x54304" (identifier "pcVar10") (+ "+") (number_literal "0x54304")) () ")"))))) () ")")) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4)" (( "(") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35f4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x35f4")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if ((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))\n          {\n            puStack_f4 = (undefined4 *)0x1;\n          }\n          else {\n            puStack_f4 = (undefined4 *)0x2;\n          }" (if "if") (parenthesized_expression "((iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))" (( "(") (binary_expression "(iVar17 == 0) ||\n             (iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0)" (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0)" (( "(") (comma_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54304))\n                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54304))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54304)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54304)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54304)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54304)" (( "(") (binary_expression "pcVar10 + 0x54304" (identifier "pcVar10") (+ "+") (number_literal "0x54304")) () ")"))))) () ")")) (argument_list "(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4)" (( "(") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35ec" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x35ec")) (, ",") (number_literal "4") () ")")))) (, ",") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            puStack_f4 = (undefined4 *)0x1;\n          }" ({ "{") (expression_statement "puStack_f4 = (undefined4 *)0x1;" (assignment_expression "puStack_f4 = (undefined4 *)0x1" (identifier "puStack_f4") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n            puStack_f4 = (undefined4 *)0x2;\n          }" (else "else") (compound_statement "{\n            puStack_f4 = (undefined4 *)0x2;\n          }" ({ "{") (expression_statement "puStack_f4 = (undefined4 *)0x2;" (assignment_expression "puStack_f4 = (undefined4 *)0x2" (identifier "puStack_f4") (= "=") (cast_expression "(undefined4 *)0x2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "iVar17 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar17 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (expression_statement "iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);" (assignment_expression "iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c)" (identifier "iStack_154") (= "=") (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[3],iVar17 + -0x702c)" (( "(") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "iVar17 + -0x702c" (identifier "iVar17") (+ "+") (number_literal "-0x702c")) () ")")))) (; ";")) (if_statement "if (iStack_154 != 0) {\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }" (if "if") (parenthesized_expression "(iStack_154 != 0)" (( "(") (binary_expression "iStack_154 != 0" (identifier "iStack_154") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);\n          iStack_154 = 1;\n          if (iVar17 == 0) {\n            iStack_154 = 2;\n          }\n        }" ({ "{") (expression_statement "iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);" (assignment_expression "iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54304))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54304)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54304)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54304)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54304)" (( "(") (binary_expression "pcVar10 + 0x54304" (identifier "pcVar10") (+ "+") (number_literal "0x54304")) () ")"))))) () ")")) (argument_list "(puVar14[3],iVar17 + -0x702c,1)" (( "(") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "iVar17 + -0x702c" (identifier "iVar17") (+ "+") (number_literal "-0x702c")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iStack_154 = 1;" (assignment_expression "iStack_154 = 1" (identifier "iStack_154") (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar17 == 0) {\n            iStack_154 = 2;\n          }" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iStack_154 = 2;\n          }" ({ "{") (expression_statement "iStack_154 = 2;" (assignment_expression "iStack_154 = 2" (identifier "iStack_154") (= "=") (number_literal "2")) (; ";")) (} "}"))) (} "}"))) (expression_statement "(**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);" (call_expression "(**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53f38))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53f38)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53f38)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53f38)" (( "(") (binary_expression "pcVar10 + 0x53f38" (identifier "pcVar10") (+ "+") (number_literal "0x53f38")) () ")"))))) () ")")) (argument_list "(puVar14[4],iVar16 + -0x361c)" (( "(") (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]")) (, ",") (binary_expression "iVar16 + -0x361c" (identifier "iVar16") (+ "+") (number_literal "-0x361c")) () ")"))) (; ";")) (expression_statement "iStack_158 = puVar14[2];" (assignment_expression "iStack_158 = puVar14[2]" (identifier "iStack_158") (= "=") (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);" (assignment_expression "in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158)" (identifier "in_stack_fffffea4") (= "=") (cast_expression "(undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar10 + 0x54364))(iStack_158)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54364)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54364)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54364)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54364)" (( "(") (binary_expression "pcVar10 + 0x54364" (identifier "pcVar10") (+ "+") (number_literal "0x54364")) () ")"))))) () ")")) (argument_list "(iStack_158)" (( "(") (identifier "iStack_158") () ")"))))) (; ";")) (expression_statement "iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);" (assignment_expression "iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3])" (identifier "iStack_150") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[3])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54364)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54364)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54364)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54364)" (( "(") (binary_expression "pcVar10 + 0x54364" (identifier "pcVar10") (+ "+") (number_literal "0x54364")) () ")"))))) () ")")) (argument_list "(puVar14[3])" (( "(") (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar10 + 0x54364))(puVar14[4]);" (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[4])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54364)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54364)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54364)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54364)" (( "(") (binary_expression "pcVar10 + 0x54364" (identifier "pcVar10") (+ "+") (number_literal "0x54364")) () ")"))))) () ")")) (argument_list "(puVar14[4])" (( "(") (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar10 + 0x54364))(puVar14[10]);" (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[10])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54364)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54364)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54364)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54364)" (( "(") (binary_expression "pcVar10 + 0x54364" (identifier "pcVar10") (+ "+") (number_literal "0x54364")) () ")"))))) () ")")) (argument_list "(puVar14[10])" (( "(") (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar10 + 0x54364))(puVar14[5]);" (call_expression "(**(code **)(pcVar10 + 0x54364))(puVar14[5])" (parenthesized_expression "(**(code **)(pcVar10 + 0x54364))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54364)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54364)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54364)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54364)" (( "(") (binary_expression "pcVar10 + 0x54364" (identifier "pcVar10") (+ "+") (number_literal "0x54364")) () ")"))))) () ")")) (argument_list "(puVar14[5])" (( "(") (subscript_expression "puVar14[5]" (identifier "puVar14") ([ "[") (number_literal "5") (] "]")) () ")"))) (; ";")) (expression_statement "piVar30 = (int *)0xffffffff;" (assignment_expression "piVar30 = (int *)0xffffffff" (identifier "piVar30") (= "=") (cast_expression "(int *)0xffffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);" (assignment_expression "piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4)" (identifier "piVar35") (= "=") (cast_expression "(int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar10 + 0x53578) + -0x35e4)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35e4" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x35e4")) () ")")))) (; ";")) (expression_statement "iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);" (assignment_expression "iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar10 + 0x54344))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x54344)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x54344)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54344)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54344)" (( "(") (binary_expression "pcVar10 + 0x54344" (identifier "pcVar10") (+ "+") (number_literal "0x54344")) () ")"))))) () ")")) (argument_list "(puVar34,1,0xffffffff)" (( "(") (identifier "puVar34") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") () ")")))) (; ";")) (if_statement "if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }" (if "if") (parenthesized_expression "(iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32)))" (( "(") (binary_expression "iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))" (identifier "iVar15") (<= "<=") (cast_expression "(int)(puVar34 + (iVar16 - (int)piVar32))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar34 + (iVar16 - (int)piVar32))" (( "(") (binary_expression "puVar34 + (iVar16 - (int)piVar32)" (identifier "puVar34") (+ "+") (parenthesized_expression "(iVar16 - (int)piVar32)" (( "(") (binary_expression "iVar16 - (int)piVar32" (identifier "iVar16") (- "-") (cast_expression "(int)piVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar32"))) () ")"))) () ")")))) () ")")) (compound_statement "{\n          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);\n          return pcVar9;\n        }" ({ "{") (expression_statement "pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" (identifier "pcVar9") (= "=") (cast_expression "(code *)(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar10 + 0x53da4))\n                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x53da4))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53da4)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53da4)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53da4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53da4)" (( "(") (binary_expression "pcVar10 + 0x53da4" (identifier "pcVar10") (+ "+") (number_literal "0x53da4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar10 + 0x53578) + -0x35a8,\n                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,\n                                      *(int *)(pcVar10 + 0x53578) + -0x30c0)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35a8" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x35a8")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x35b8" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x35b8")) (, ",") (number_literal "0x442") (, ",") (binary_expression "*(int *)(pcVar10 + 0x53578) + -0x30c0" (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")")))) (+ "+") (number_literal "-0x30c0")) () ")"))))) (; ";")) (return_statement "return pcVar9;" (return "return") (identifier "pcVar9") (; ";")) (} "}"))) (expression_statement "piVar37 = *(int **)(pcVar10 + 0x53690);" (assignment_expression "piVar37 = *(int **)(pcVar10 + 0x53690)" (identifier "piVar37") (= "=") (pointer_expression "*(int **)(pcVar10 + 0x53690)" (* "*") (cast_expression "(int **)(pcVar10 + 0x53690)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53690)" (( "(") (binary_expression "pcVar10 + 0x53690" (identifier "pcVar10") (+ "+") (number_literal "0x53690")) () ")"))))) (; ";")) (expression_statement "pcVar29 = (char *)puVar14[10];" (assignment_expression "pcVar29 = (char *)puVar14[10]" (identifier "pcVar29") (= "=") (cast_expression "(char *)puVar14[10]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]")))) (; ";")) (expression_statement "iVar15 = *(int *)(pcVar10 + 0x53578);" (assignment_expression "iVar15 = *(int *)(pcVar10 + 0x53578)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x53578)" (* "*") (cast_expression "(int *)(pcVar10 + 0x53578)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x53578)" (( "(") (binary_expression "pcVar10 + 0x53578" (identifier "pcVar10") (+ "+") (number_literal "0x53578")) () ")"))))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x54198);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x54198)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x54198)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54198)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54198)" (( "(") (binary_expression "pcVar10 + 0x54198" (identifier "pcVar10") (+ "+") (number_literal "0x54198")) () ")"))))) (; ";")) (expression_statement "*piVar37 = 2;" (assignment_expression "*piVar37 = 2" (pointer_expression "*piVar37" (* "*") (identifier "piVar37")) (= "=") (number_literal "2")) (; ";")) (expression_statement "piVar25 = (int *)(int)*pcVar29;" (assignment_expression "piVar25 = (int *)(int)*pcVar29" (identifier "piVar25") (= "=") (cast_expression "(int *)(int)*pcVar29" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)*pcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pcVar29" (* "*") (identifier "pcVar29"))))) (; ";")) (expression_statement "iVar15 = (*pcVar24)(iVar15 + -0x3590);" (assignment_expression "iVar15 = (*pcVar24)(iVar15 + -0x3590)" (identifier "iVar15") (= "=") (call_expression "(*pcVar24)(iVar15 + -0x3590)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(iVar15 + -0x3590)" (( "(") (binary_expression "iVar15 + -0x3590" (identifier "iVar15") (+ "+") (number_literal "-0x3590")) () ")")))) (; ";")) (if_statement "if (iVar15 == 0) {\n          *piVar37 = 10;\n        }" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *piVar37 = 10;\n        }" ({ "{") (expression_statement "*piVar37 = 10;" (assignment_expression "*piVar37 = 10" (pointer_expression "*piVar37" (* "*") (identifier "piVar37")) (= "=") (number_literal "10")) (; ";")) (} "}"))) (expression_statement "iVar15 = puVar14[6];" (assignment_expression "iVar15 = puVar14[6]" (identifier "iVar15") (= "=") (subscript_expression "puVar14[6]" (identifier "puVar14") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x53574);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x53574)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x53574)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53574)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53574)" (( "(") (binary_expression "pcVar10 + 0x53574" (identifier "pcVar10") (+ "+") (number_literal "0x53574")) () ")"))))) (; ";")) (expression_statement "in_stack_fffffea0 = puStack_f4;" (assignment_expression "in_stack_fffffea0 = puStack_f4" (identifier "in_stack_fffffea0") (= "=") (identifier "puStack_f4")) (; ";")) (if_statement "if (iVar15 != 0) {\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          piVar25 = (int *)*puVar36;\n          iStack_150 = iVar26 + 0x4768;\n          iStack_154 = *piVar37;\n          piVar30 = piVar32;\n          (*pcVar9)(piVar28,piVar25,piVar32);\n          pcVar24 = *(code **)(pcVar10 + 0x53574);\n          piVar35 = piVar40;\n          in_stack_fffffea0 = puVar38;\n          in_stack_fffffea4 = puVar34;\n          iStack_158 = iVar15;\n        }" ({ "{") (expression_statement "piVar25 = (int *)*puVar36;" (assignment_expression "piVar25 = (int *)*puVar36" (identifier "piVar25") (= "=") (cast_expression "(int *)*puVar36" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar36" (* "*") (identifier "puVar36")))) (; ";")) (expression_statement "iStack_150 = iVar26 + 0x4768;" (assignment_expression "iStack_150 = iVar26 + 0x4768" (identifier "iStack_150") (= "=") (binary_expression "iVar26 + 0x4768" (identifier "iVar26") (+ "+") (number_literal "0x4768"))) (; ";")) (expression_statement "iStack_154 = *piVar37;" (assignment_expression "iStack_154 = *piVar37" (identifier "iStack_154") (= "=") (pointer_expression "*piVar37" (* "*") (identifier "piVar37"))) (; ";")) (expression_statement "piVar30 = piVar32;" (assignment_expression "piVar30 = piVar32" (identifier "piVar30") (= "=") (identifier "piVar32")) (; ";")) (expression_statement "(*pcVar9)(piVar28,piVar25,piVar32);" (call_expression "(*pcVar9)(piVar28,piVar25,piVar32)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar28,piVar25,piVar32)" (( "(") (identifier "piVar28") (, ",") (identifier "piVar25") (, ",") (identifier "piVar32") () ")"))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x53574);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x53574)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x53574)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53574)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53574)" (( "(") (binary_expression "pcVar10 + 0x53574" (identifier "pcVar10") (+ "+") (number_literal "0x53574")) () ")"))))) (; ";")) (expression_statement "piVar35 = piVar40;" (assignment_expression "piVar35 = piVar40" (identifier "piVar35") (= "=") (identifier "piVar40")) (; ";")) (expression_statement "in_stack_fffffea0 = puVar38;" (assignment_expression "in_stack_fffffea0 = puVar38" (identifier "in_stack_fffffea0") (= "=") (identifier "puVar38")) (; ";")) (expression_statement "in_stack_fffffea4 = puVar34;" (assignment_expression "in_stack_fffffea4 = puVar34" (identifier "in_stack_fffffea4") (= "=") (identifier "puVar34")) (; ";")) (expression_statement "iStack_158 = iVar15;" (assignment_expression "iStack_158 = iVar15" (identifier "iStack_158") (= "=") (identifier "iVar15")) (; ";")) (} "}"))) (expression_statement "(*pcVar24)(puVar14);" (call_expression "(*pcVar24)(puVar14)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar41 = iVar41 + 1;" (assignment_expression "iVar41 = iVar41 + 1" (identifier "iVar41") (= "=") (binary_expression "iVar41 + 1" (identifier "iVar41") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar36 = puVar36 + 1;" (assignment_expression "puVar36 = puVar36 + 1" (identifier "puVar36") (= "=") (binary_expression "puVar36 + 1" (identifier "puVar36") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar41 < iStack_b8)" (( "(") (binary_expression "iVar41 < iStack_b8" (identifier "iVar41") (< "<") (identifier "iStack_b8")) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar10 + 0x544e0))(puVar12);" (call_expression "(**(code **)(pcVar10 + 0x544e0))(puVar12)" (parenthesized_expression "(**(code **)(pcVar10 + 0x544e0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x544e0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x544e0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x544e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x544e0)" (( "(") (binary_expression "pcVar10 + 0x544e0" (identifier "pcVar10") (+ "+") (number_literal "0x544e0")) () ")"))))) () ")")) (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar10 + 0x53574))();" (call_expression "(**(code **)(pcVar10 + 0x53574))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x53574))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x53574)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x53574)" (* "*") (cast_expression "(code **)(pcVar10 + 0x53574)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x53574)" (( "(") (binary_expression "pcVar10 + 0x53574" (identifier "pcVar10") (+ "+") (number_literal "0x53574")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)*piVar11;" (assignment_expression "pcVar9 = (code *)*piVar11" (identifier "pcVar9") (= "=") (cast_expression "(code *)*piVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (if_statement "if (pcStack_b4 == pcVar9) {\n    return pcVar9;\n  }" (if "if") (parenthesized_expression "(pcStack_b4 == pcVar9)" (( "(") (binary_expression "pcStack_b4 == pcVar9" (identifier "pcStack_b4") (== "==") (identifier "pcVar9")) () ")")) (compound_statement "{\n    return pcVar9;\n  }" ({ "{") (return_statement "return pcVar9;" (return "return") (identifier "pcVar9") (; ";")) (} "}"))) (expression_statement "pcVar24 = *(code **)(pcVar10 + 0x54100);" (assignment_expression "pcVar24 = *(code **)(pcVar10 + 0x54100)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x54100)" (* "*") (cast_expression "(code **)(pcVar10 + 0x54100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x54100)" (( "(") (binary_expression "pcVar10 + 0x54100" (identifier "pcVar10") (+ "+") (number_literal "0x54100")) () ")"))))) (; ";")) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar13 = *piVar32;" (assignment_expression "iVar13 = *piVar32" (identifier "iVar13") (= "=") (pointer_expression "*piVar32" (* "*") (identifier "piVar32"))) (; ";")) (expression_statement "iVar18 = iStack_154 - piVar25[0x40];" (assignment_expression "iVar18 = iStack_154 - piVar25[0x40]" (identifier "iVar18") (= "=") (binary_expression "iStack_154 - piVar25[0x40]" (identifier "iStack_154") (- "-") (subscript_expression "piVar25[0x40]" (identifier "piVar25") ([ "[") (number_literal "0x40") (] "]")))) (; ";")) (expression_statement "pcVar9 = (code *)0x1;" (assignment_expression "pcVar9 = (code *)0x1" (identifier "pcVar9") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar7 = iStack_158 - piVar25[0x3f];" (assignment_expression "iVar7 = iStack_158 - piVar25[0x3f]" (identifier "iVar7") (= "=") (binary_expression "iStack_158 - piVar25[0x3f]" (identifier "iStack_158") (- "-") (subscript_expression "piVar25[0x3f]" (identifier "piVar25") ([ "[") (number_literal "0x3f") (] "]")))) (; ";")) (if_statement "if (iStack_158 != 0) {\n    pcVar9 = (code *)0x2;\n  }" (if "if") (parenthesized_expression "(iStack_158 != 0)" (( "(") (binary_expression "iStack_158 != 0" (identifier "iStack_158") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar9 = (code *)0x2;\n  }" ({ "{") (expression_statement "pcVar9 = (code *)0x2;" (assignment_expression "pcVar9 = (code *)0x2" (identifier "pcVar9") (= "=") (cast_expression "(code *)0x2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (} "}"))) (expression_statement "iVar22 = iVar7 * 2;" (assignment_expression "iVar22 = iVar7 * 2" (identifier "iVar22") (= "=") (binary_expression "iVar7 * 2" (identifier "iVar7") (* "*") (number_literal "2"))) (; ";")) (if_statement "if (piVar25[0x42] == 0) {\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }\n  else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }" (if "if") (parenthesized_expression "(piVar25[0x42] == 0)" (( "(") (binary_expression "piVar25[0x42] == 0" (subscript_expression "piVar25[0x42]" (identifier "piVar25") ([ "[") (number_literal "0x42") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar26 = iVar18 + iVar22;\n    if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }\n    iVar27 = piVar25[iVar26 * 0xd + 8];\n    if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }\n    iVar18 = 0;\n  }" ({ "{") (expression_statement "iVar26 = iVar18 + iVar22;" (assignment_expression "iVar26 = iVar18 + iVar22" (identifier "iVar26") (= "=") (binary_expression "iVar18 + iVar22" (identifier "iVar18") (+ "+") (identifier "iVar22"))) (; ";")) (if_statement "if (piVar25[iVar26 * 0xd + 9] == 0) {\n      FUN_000618d0(piVar25,iVar26);\n    }" (if "if") (parenthesized_expression "(piVar25[iVar26 * 0xd + 9] == 0)" (( "(") (binary_expression "piVar25[iVar26 * 0xd + 9] == 0" (subscript_expression "piVar25[iVar26 * 0xd + 9]" (identifier "piVar25") ([ "[") (binary_expression "iVar26 * 0xd + 9" (binary_expression "iVar26 * 0xd" (identifier "iVar26") (* "*") (number_literal "0xd")) (+ "+") (number_literal "9")) (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000618d0(piVar25,iVar26);\n    }" ({ "{") (expression_statement "FUN_000618d0(piVar25,iVar26);" (call_expression "FUN_000618d0(piVar25,iVar26)" (identifier "FUN_000618d0") (argument_list "(piVar25,iVar26)" (( "(") (identifier "piVar25") (, ",") (identifier "iVar26") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar27 = piVar25[iVar26 * 0xd + 8];" (assignment_expression "iVar27 = piVar25[iVar26 * 0xd + 8]" (identifier "iVar27") (= "=") (subscript_expression "piVar25[iVar26 * 0xd + 8]" (identifier "piVar25") ([ "[") (binary_expression "iVar26 * 0xd + 8" (binary_expression "iVar26 * 0xd" (identifier "iVar26") (* "*") (number_literal "0xd")) (+ "+") (number_literal "8")) (] "]"))) (; ";")) (if_statement "if (iVar18 != 0) {\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar18 = 0;\n      if (iVar27 != 0) goto LAB_0006265c;\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n      goto joined_r0x00062808;\n    }" ({ "{") (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" (identifier "iVar18") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar27 != 0) goto LAB_0006265c;" (if "if") (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006265c;" (goto "goto") (statement_identifier "LAB_0006265c") (; ";"))) (expression_statement "piVar28 = piVar25 + iVar7 * 0x1a;" (assignment_expression "piVar28 = piVar25 + iVar7 * 0x1a" (identifier "piVar28") (= "=") (binary_expression "piVar25 + iVar7 * 0x1a" (identifier "piVar25") (+ "+") (binary_expression "iVar7 * 0x1a" (identifier "iVar7") (* "*") (number_literal "0x1a")))) (; ";")) (expression_statement "iVar7 = piVar28[9];" (assignment_expression "iVar7 = piVar28[9]" (identifier "iVar7") (= "=") (subscript_expression "piVar28[9]" (identifier "piVar28") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "iVar18 = piVar25[0x41];" (assignment_expression "iVar18 = piVar25[0x41]" (identifier "iVar18") (= "=") (subscript_expression "piVar25[0x41]" (identifier "piVar25") ([ "[") (number_literal "0x41") (] "]"))) (; ";")) (goto_statement "goto joined_r0x00062808;" (goto "goto") (statement_identifier "joined_r0x00062808") (; ";")) (} "}"))) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" (identifier "iVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }" (else "else") (compound_statement "{\n    if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }\njoined_r0x00062808:\n    iVar26 = iVar22;\n    if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }\n  }" ({ "{") (if_statement "if (iVar18 == 0) {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }\n    else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = 0;\n    }" ({ "{") (expression_statement "piVar28 = piVar25 + iVar7 * 0x1a;" (assignment_expression "piVar28 = piVar25 + iVar7 * 0x1a" (identifier "piVar28") (= "=") (binary_expression "piVar25 + iVar7 * 0x1a" (identifier "piVar25") (+ "+") (binary_expression "iVar7 * 0x1a" (identifier "iVar7") (* "*") (number_literal "0x1a")))) (; ";")) (expression_statement "iVar7 = piVar28[9];" (assignment_expression "iVar7 = piVar28[9]" (identifier "iVar7") (= "=") (subscript_expression "piVar28[9]" (identifier "piVar28") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" (identifier "iVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }" (else "else") (compound_statement "{\n      piVar28 = piVar25 + iVar7 * 0x1a;\n      iVar7 = piVar28[9];\n      iVar18 = piVar25[0x41];\n    }" ({ "{") (expression_statement "piVar28 = piVar25 + iVar7 * 0x1a;" (assignment_expression "piVar28 = piVar25 + iVar7 * 0x1a" (identifier "piVar28") (= "=") (binary_expression "piVar25 + iVar7 * 0x1a" (identifier "piVar25") (+ "+") (binary_expression "iVar7 * 0x1a" (identifier "iVar7") (* "*") (number_literal "0x1a")))) (; ";")) (expression_statement "iVar7 = piVar28[9];" (assignment_expression "iVar7 = piVar28[9]" (identifier "iVar7") (= "=") (subscript_expression "piVar28[9]" (identifier "piVar28") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "iVar18 = piVar25[0x41];" (assignment_expression "iVar18 = piVar25[0x41]" (identifier "iVar18") (= "=") (subscript_expression "piVar25[0x41]" (identifier "piVar25") ([ "[") (number_literal "0x41") (] "]"))) (; ";")) (} "}")))) (labeled_statement "joined_r0x00062808:\n    iVar26 = iVar22;" (statement_identifier "joined_r0x00062808") (: ":") (expression_statement "iVar26 = iVar22;" (assignment_expression "iVar26 = iVar22" (identifier "iVar26") (= "=") (identifier "iVar22")) (; ";"))) (if_statement "if (iVar7 == 0) {\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }\n    else {\n      iVar27 = piVar28[8];\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000618d0(piVar25,iVar22);\n      iVar27 = piVar28[8];\n    }" ({ "{") (expression_statement "FUN_000618d0(piVar25,iVar22);" (call_expression "FUN_000618d0(piVar25,iVar22)" (identifier "FUN_000618d0") (argument_list "(piVar25,iVar22)" (( "(") (identifier "piVar25") (, ",") (identifier "iVar22") () ")"))) (; ";")) (expression_statement "iVar27 = piVar28[8];" (assignment_expression "iVar27 = piVar28[8]" (identifier "iVar27") (= "=") (subscript_expression "piVar28[8]" (identifier "piVar28") ([ "[") (number_literal "8") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n      iVar27 = piVar28[8];\n    }" (else "else") (compound_statement "{\n      iVar27 = piVar28[8];\n    }" ({ "{") (expression_statement "iVar27 = piVar28[8];" (assignment_expression "iVar27 = piVar28[8]" (identifier "iVar27") (= "=") (subscript_expression "piVar28[8]" (identifier "piVar28") ([ "[") (number_literal "8") (] "]"))) (; ";")) (} "}")))) (} "}")))) (if_statement "if (iVar27 == 0) {\n    return pcVar9;\n  }" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return pcVar9;\n  }" ({ "{") (return_statement "return pcVar9;" (return "return") (identifier "pcVar9") (; ";")) (} "}"))) (labeled_statement "LAB_0006265c:\n  if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }" (statement_identifier "LAB_0006265c") (: ":") (if_statement "if (piVar25[0x3c] != 0) {\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }" (if "if") (parenthesized_expression "(piVar25[0x3c] != 0)" (( "(") (binary_expression "piVar25[0x3c] != 0" (subscript_expression "piVar25[0x3c]" (identifier "piVar25") ([ "[") (number_literal "0x3c") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);\n    if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }\n    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);\n                    \n                    \n    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);\n    return pcVar9;\n  }" ({ "{") (expression_statement "puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);" (assignment_expression "puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2)" (identifier "puVar34") (= "=") (cast_expression "(undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c74))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x52c74)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x52c74)" (* "*") (cast_expression "(code **)(pcVar24 + 0x52c74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x52c74)" (( "(") (binary_expression "pcVar24 + 0x52c74" (identifier "pcVar24") (+ "+") (number_literal "0x52c74")) () ")"))))) () ")")) (argument_list "(in_stack_fffffea4,2)" (( "(") (identifier "in_stack_fffffea4") (, ",") (number_literal "2") () ")"))))) (; ";")) (if_statement "if (0 < (int)in_stack_fffffea4) {\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }" (if "if") (parenthesized_expression "(0 < (int)in_stack_fffffea4)" (( "(") (binary_expression "0 < (int)in_stack_fffffea4" (number_literal "0") (< "<") (cast_expression "(int)in_stack_fffffea4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "in_stack_fffffea4"))) () ")")) (compound_statement "{\n      puVar20 = puVar34;\n      do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);\n    }" ({ "{") (expression_statement "puVar20 = puVar34;" (assignment_expression "puVar20 = puVar34" (identifier "puVar20") (= "=") (identifier "puVar34")) (; ";")) (do_statement "do {\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);" (do "do") (compound_statement "{\n        uVar4 = *in_stack_fffffea0;\n        puVar21 = puVar20 + 2;\n        in_stack_fffffea0 = in_stack_fffffea0 + 1;\n        puVar20[1] = (char)uVar4;\n        *puVar20 = (char)((uint)uVar4 >> 8);\n        puVar20 = puVar21;\n      }" ({ "{") (expression_statement "uVar4 = *in_stack_fffffea0;" (assignment_expression "uVar4 = *in_stack_fffffea0" (identifier "uVar4") (= "=") (pointer_expression "*in_stack_fffffea0" (* "*") (identifier "in_stack_fffffea0"))) (; ";")) (expression_statement "puVar21 = puVar20 + 2;" (assignment_expression "puVar21 = puVar20 + 2" (identifier "puVar21") (= "=") (binary_expression "puVar20 + 2" (identifier "puVar20") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "in_stack_fffffea0 = in_stack_fffffea0 + 1;" (assignment_expression "in_stack_fffffea0 = in_stack_fffffea0 + 1" (identifier "in_stack_fffffea0") (= "=") (binary_expression "in_stack_fffffea0 + 1" (identifier "in_stack_fffffea0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar20[1] = (char)uVar4;" (assignment_expression "puVar20[1] = (char)uVar4" (subscript_expression "puVar20[1]" (identifier "puVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char)uVar4" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar4"))) (; ";")) (expression_statement "*puVar20 = (char)((uint)uVar4 >> 8);" (assignment_expression "*puVar20 = (char)((uint)uVar4 >> 8)" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (cast_expression "(char)((uint)uVar4 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)uVar4 >> 8)" (( "(") (binary_expression "(uint)uVar4 >> 8" (cast_expression "(uint)uVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar4")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" (identifier "puVar20") (= "=") (identifier "puVar21")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar34 + (int)in_stack_fffffea4 * 2 != puVar21)" (( "(") (binary_expression "puVar34 + (int)in_stack_fffffea4 * 2 != puVar21" (binary_expression "puVar34 + (int)in_stack_fffffea4 * 2" (identifier "puVar34") (+ "+") (binary_expression "(int)in_stack_fffffea4 * 2" (cast_expression "(int)in_stack_fffffea4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "in_stack_fffffea4")) (* "*") (number_literal "2"))) (!= "!=") (identifier "puVar21")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150);" (call_expression "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150)" (identifier "FUN_00060d20") (argument_list "(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,\n                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,\n                 piVar25[0x3d],(int)pcVar9 * iStack_150)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc" (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750" (pointer_expression "*(int *)(pcVar24 + 0x52c60)" (* "*") (cast_expression "(int *)(pcVar24 + 0x52c60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x52c60)" (( "(") (binary_expression "pcVar24 + 0x52c60" (identifier "pcVar24") (+ "+") (number_literal "0x52c60")) () ")")))) (+ "+") (number_literal "0x4750")) (+ "+") (binary_expression "(iVar13 * 2 + 1) * 0xc" (parenthesized_expression "(iVar13 * 2 + 1)" (( "(") (binary_expression "iVar13 * 2 + 1" (binary_expression "iVar13 * 2" (identifier "iVar13") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "0xc"))) (, ",") (identifier "piVar32") (, ",") (binary_expression "piVar25 + iVar26 * 0xd + 8" (binary_expression "piVar25 + iVar26 * 0xd" (identifier "piVar25") (+ "+") (binary_expression "iVar26 * 0xd" (identifier "iVar26") (* "*") (number_literal "0xd"))) (+ "+") (number_literal "8")) (, ",") (identifier "piVar30") (, ",") (identifier "piVar35") (, ",") (identifier "puVar34") (, ",") (identifier "in_stack_fffffea4") (, ",") (identifier "iVar18") (, ",") (subscript_expression "piVar25[0x3d]" (identifier "piVar25") ([ "[") (number_literal "0x3d") (] "]")) (, ",") (binary_expression "(int)pcVar9 * iStack_150" (cast_expression "(int)pcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar9")) (* "*") (identifier "iStack_150")) () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34)" (identifier "pcVar9") (= "=") (cast_expression "(code *)(**(code **)(pcVar24 + 0x52c78))(puVar34)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar24 + 0x52c78))(puVar34)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c78))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x52c78)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x52c78)" (* "*") (cast_expression "(code **)(pcVar24 + 0x52c78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x52c78)" (( "(") (binary_expression "pcVar24 + 0x52c78" (identifier "pcVar24") (+ "+") (number_literal "0x52c78")) () ")"))))) () ")")) (argument_list "(puVar34)" (( "(") (identifier "puVar34") () ")"))))) (; ";")) (return_statement "return pcVar9;" (return "return") (identifier "pcVar9") (; ";")) (} "}")))) (expression_statement "uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);" (assignment_expression "uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c74))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x52c74)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x52c74)" (* "*") (cast_expression "(code **)(pcVar24 + 0x52c74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x52c74)" (( "(") (binary_expression "pcVar24 + 0x52c74" (identifier "pcVar24") (+ "+") (number_literal "0x52c74")) () ")"))))) () ")")) (argument_list "(in_stack_fffffea4 + 1,1)" (( "(") (binary_expression "in_stack_fffffea4 + 1" (identifier "in_stack_fffffea4") (+ "+") (number_literal "1")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);" (assignment_expression "uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0)" (identifier "uVar5") (= "=") (call_expression "wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0)" (identifier "wc_to_mb") (argument_list "(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,\n                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0)" (( "(") (subscript_expression "piVar25[0x3e]" (identifier "piVar25") ([ "[") (number_literal "0x3e") (] "]")) (, ",") (number_literal "0") (, ",") (identifier "in_stack_fffffea0") (, ",") (identifier "in_stack_fffffea4") (, ",") (identifier "uVar4") (, ",") (binary_expression "in_stack_fffffea4 + 1" (identifier "in_stack_fffffea4") (+ "+") (number_literal "1")) (, ",") (binary_expression "*(int *)(pcVar24 + 0x52c7c) + -0x48f0" (pointer_expression "*(int *)(pcVar24 + 0x52c7c)" (* "*") (cast_expression "(int *)(pcVar24 + 0x52c7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x52c7c)" (( "(") (binary_expression "pcVar24 + 0x52c7c" (identifier "pcVar24") (+ "+") (number_literal "0x52c7c")) () ")")))) (+ "+") (number_literal "-0x48f0")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150);" (call_expression "FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150)" (identifier "FUN_00060d20") (argument_list "(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,\n               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],\n               (int)pcVar9 * iStack_150)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18" (binary_expression "*(int *)(pcVar24 + 0x52c60) + 0x4750" (pointer_expression "*(int *)(pcVar24 + 0x52c60)" (* "*") (cast_expression "(int *)(pcVar24 + 0x52c60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x52c60)" (( "(") (binary_expression "pcVar24 + 0x52c60" (identifier "pcVar24") (+ "+") (number_literal "0x52c60")) () ")")))) (+ "+") (number_literal "0x4750")) (+ "+") (binary_expression "iVar13 * 0x18" (identifier "iVar13") (* "*") (number_literal "0x18"))) (, ",") (identifier "piVar32") (, ",") (binary_expression "piVar25 + iVar26 * 0xd + 8" (binary_expression "piVar25 + iVar26 * 0xd" (identifier "piVar25") (+ "+") (binary_expression "iVar26 * 0xd" (identifier "iVar26") (* "*") (number_literal "0xd"))) (+ "+") (number_literal "8")) (, ",") (identifier "piVar30") (, ",") (identifier "piVar35") (, ",") (identifier "uVar4") (, ",") (identifier "uVar5") (, ",") (identifier "iVar18") (, ",") (subscript_expression "piVar25[0x3d]" (identifier "piVar25") ([ "[") (number_literal "0x3d") (] "]")) (, ",") (binary_expression "(int)pcVar9 * iStack_150" (cast_expression "(int)pcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar9")) (* "*") (identifier "iStack_150")) () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4)" (identifier "pcVar9") (= "=") (cast_expression "(code *)(**(code **)(pcVar24 + 0x52c78))(uVar4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar24 + 0x52c78))(uVar4)" (parenthesized_expression "(**(code **)(pcVar24 + 0x52c78))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x52c78)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x52c78)" (* "*") (cast_expression "(code **)(pcVar24 + 0x52c78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x52c78)" (( "(") (binary_expression "pcVar24 + 0x52c78" (identifier "pcVar24") (+ "+") (number_literal "0x52c78")) () ")"))))) () ")")) (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))))) (; ";")) (return_statement "return pcVar9;" (return "return") (identifier "pcVar9") (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x00061c88) */
/* WARNING: Removing unreachable block (ram,0x00061c6c) */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void function_1(type_1 *xfont,int var_5)

{
  char var_29;
  type_2 uVar2;
  type_3 *puVar3;
  type_4 uVar4;
  type_4 uVar5;
  type_4 uVar6;
  int var_2;
  char *pcVar8;
  type_5 *var_4;
  type_6 *var_10;
  int *piVar10;
  type_4 *puVar11;
  int var_20;
  type_4 *var_21;
  int var_23;
  int var_26;
  type_4 uVar16;
  int var_27;
  int var_18;
  type_4 uVar19;
  type_2 *var_36;
  type_2 *var_38;
  int var_19;
  type_4 uVar23;
  type_7 wVar24;
  type_6 *pp_Var25;
  type_6 *pp_Var26;
  type_1 *var_17;
  int var_22;
  int var_25;
  type_8 *puVar29;
  type_8 *puVar30;
  type_1 *x;
  type_4 *var_13;
  int *piVar31;
  type_6 *pp_Var32;
  type_1 *pxVar33;
  type_4 *var_28;
  type_2 *var_31;
  int *piVar36;
  type_4 *var_33;
  int *piVar38;
  type_9 *puVar39;
  type_7 *pwVar40;
  type_10 *pXVar41;
  int var_11;
  type_3 *var_9;
  type_11 *var_15;
  type_11 *pcVar44;
  int var_32;
  type_7 *in_stack_fffffea0;
  type_2 *var_41;
  int var_35;
  int var_30;
  int var_40;
  type_7 *var_37;
  int var_24;
  int var_16;
  int var_34;
  type_6 *pp_Stack_b0;
  type_4 uStack_ac;
  int *piStack_a8;
  type_6 *pp_Stack_a4;
  type_8 *puStack_9c;
  int iStack_98;
  type_8 uStack_6c;
  type_8 var_12;
  int var_14;
  int iStack_60;
  char *pcStack_5c;
  type_3 *puStack_58;
  type_1 *pxStack_54;
  type_4 uStack_50;
  type_10 *pXStack_4c;
  type_8 ret;
  int var_8;
  
  puVar3 = PTR___stack_chk_guard_000b60f8;
  var_8 = *(int *)PTR___stack_chk_guard_000b60f8;
  uVar4 = (*(type_11 *)PTR_gdk_display_get_default_000b5e9c)();
  uVar4 = (*(type_11 *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);
  pXVar41 = xfont->fonts[0].xfs;
  uVar5 = (*(type_11 *)PTR_gdk_display_get_default_000b5e9c)();
  uVar5 = (*(type_11 *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);
  uVar6 = (*(type_11 *)PTR_XInternAtom_000b5f60)
                    (uVar5,var_1 + 0x17d0,0);
  puVar29 = &ret;
  var_2 = (*(type_11 *)PTR_XGetFontProperty_000b61b8)(pXVar41,uVar6);
  var_37 = in_stack_fffffea0;
  if (var_2 == 0) {
LAB_00061a2c:
    pcVar8 = (char *)0x0;
  }
  else {
    pcVar8 = (char *)(*(type_11 *)PTR_XGetAtomName_000b5a50)(uVar5,ret);
    var_4 = var_3(pcVar8);
    var_37 = in_stack_fffffea0;
    if (var_4 == (type_5 *)0x0) goto LAB_00061a2c;
    if ((var_5 & 1U) != 0) {
      var_4->weight_name = var_6 + -0x503c;
    }
    if ((var_5 & 2U) != 0) {
      pcVar8 = var_6 + -0x3680;
      var_4->average_width = var_4->average_width << 1;
      var_4->add_style_name = pcVar8;
      var_4->setwidth_name = pcVar8;
    }
    pcVar8 = var_7(var_4);
    (*(type_11 *)PTR_safefree_000b5210)(var_4);
    var_37 = in_stack_fffffea0;
  }
  uVar5 = (*(type_11 *)PTR_XLoadQueryFont_000b5aec)(uVar4,pcVar8);
  var_9 = PTR_safefree_000b5210;
  pp_Var25 = &xfont->fonts[var_5 + -1].gc;
  pp_Var25[8] = (type_6)uVar5;
  pp_Var25[9] = (type_6)0x1;
  (*(type_11 *)var_9)(pcVar8);
  if (var_8 == *(int *)puVar3) {
    return;
  }
  var_9 = PTR___stack_chk_fail_000b5d9c;
  (*(type_11 *)PTR___stack_chk_fail_000b5d9c)();
  puStack_58 = puVar3;
  piVar36 = *(int **)(var_9 + 0x54650);
  var_14 = *piVar36;
  puVar30 = puVar29;
  iStack_60 = var_5;
  pcStack_5c = pcVar8;
  pxStack_54 = xfont;
  uStack_50 = uVar4;
  pXStack_4c = pXVar41;
  uVar4 = (**(type_11 **)(var_9 + 0x543f4))();
  uVar4 = (**(type_11 **)(var_9 + 0x53fa0))(uVar4);
  pp_Var26 = pp_Var25;
  var_10 = (type_6 *)(**(type_11 **)(var_9 + 0x54044))(uVar4);
  pp_Var32 = var_10;
  if (var_10 != (type_6 *)0x0) {
    uVar5 = (**(type_11 **)(var_9 + 0x544b8))(uVar4,*(int *)(var_9 + 0x53788) + 0x17d0,0);
    puVar30 = &uStack_6c;
    var_2 = (**(type_11 **)(var_9 + 0x54710))(var_10,uVar5);
    if ((var_2 != 0) &&
       (var_11 = (**(type_11 **)(var_9 + 0x53fa8))(uVar4,uStack_6c), var_11 != 0)) {
      var_12 = 0xc;
      uVar5 = (**(type_11 **)(var_9 + 0x544b8))(uVar4,*(int *)(var_9 + 0x5376c) + -0x367c,0);
      puVar30 = &var_12;
      var_2 = (**(type_11 **)(var_9 + 0x54710))(var_10,uVar5);
      if ((var_2 != 0) && (var_15 = *(type_11 **)(var_9 + 0x546c4), var_12 != 0)) {
        *puVar29 = var_12;
        (*var_15)(uVar4);
        if (var_13 != (type_4 *)0x0) {
          *var_13 = 2;
        }
        pp_Var32 = (type_6 *)(**(type_11 **)(var_9 + 0x53790))(var_11);
        pp_Var26 = var_10;
        goto LAB_00061bec;
      }
    }
    pp_Var32 = (type_6 *)0x0;
    (**(type_11 **)(var_9 + 0x546c4))(uVar4);
    pp_Var26 = var_10;
  }
LAB_00061bec:
  if (var_14 == *piVar36) {
    return;
  }
  var_15 = *(type_11 **)(var_9 + 0x542f4);
  (*var_15)();
  piVar10 = *(int **)(var_15 + 0x5445c);
  pxVar33 = (type_1 *)0x8000;
  var_34 = *piVar10;
  pp_Stack_b0 = pp_Var32;
  uStack_ac = uVar4;
  piStack_a8 = piVar36;
  pp_Stack_a4 = pp_Var25;
  puStack_9c = puVar29;
  iStack_98 = var_11;
  uVar4 = (**(type_11 **)(var_15 + 0x54200))();
  uVar4 = (**(type_11 **)(var_15 + 0x53dac))(uVar4);
  var_2 = *(int *)(var_15 + 0x53578);
  while( true ) {
    x = pxVar33;
    piVar36 = &var_16;
    puVar11 = (type_4 *)(**(type_11 **)(var_15 + 0x54470))(uVar4,var_2 + -0x3680);
    var_17 = (type_1 *)(type_12)(var_16 < (int)pxVar33);
    if (var_17 != (type_1 *)0x0) break;
    pxVar33 = (type_1 *)((int)pxVar33 << 1);
    (**(type_11 **)(var_15 + 0x544e0))(puVar11);
  }
  pxVar33 = (type_1 *)0x0;
  if (0 < var_16) {
    var_2 = *(int *)(var_15 + 0x53578);
    var_32 = 0;
    var_18 = *(int *)(var_15 + 0x53578);
    pxVar33 = (type_1 *)0x0;
    var_19 = *(int *)(var_15 + 0x53578);
    uVar4 = *(type_4 *)(var_2 + -0x360c);
    var_22 = *(int *)(var_15 + 0x5355c);
    var_20 = *(int *)(var_15 + 0x53aac);
    var_24 = 0;
    uVar5 = *(type_4 *)(var_18 + -0x3614);
    var_25 = *(int *)(var_15 + 0x53578);
    uVar6 = *(type_4 *)(var_19 + -0x362c);
    var_33 = puVar11;
    do {
      var_21 = (type_4 *)(*(type_11 *)(var_20 + 0x116c))(*var_33);
      if (var_21 == (type_4 *)0x0) {
        var_17 = (type_1 *)*var_33;
        piVar36 = (int *)0x0;
        var_40 = var_22 + 0x4768;
        var_30 = 4;
        var_35 = 0;
        var_41 = (type_2 *)0x0;
        var_37 = (type_7 *)0x0;
        x = var_17;
        (*(type_11 *)pp_Var26)(puVar30);
        (**(type_11 **)(var_15 + 0x53574))(0);
      }
      else {
        var_23 = (**(type_11 **)(var_15 + 0x54364))(*var_33);
        var_23 = (var_23 + 0x40) * 4;
        if (var_24 < var_23) {
          pxVar33 = (type_1 *)(**(type_11 **)(var_15 + 0x5366c))(pxVar33,var_23,1);
          var_24 = var_23;
        }
        var_26 = (**(type_11 **)(var_15 + 0x54344))
                           (pxVar33,1,0xffffffff,var_25 + -0x3668,var_21[1],*var_21);
        piVar31 = (int *)((int)pxVar33->fonts + var_26 + -0x1f);
        var_26 = (**(type_11 **)(var_15 + 0x54344))
                           (piVar31,1,0xffffffff,*(int *)(var_15 + 0x53578) + -0x3688,var_21[0xc],
                            var_21[0xd]);
        pcVar8 = (char *)var_21[2];
        pwVar40 = (type_7 *)((int)piVar31 + var_26 + 1);
        if (*pcVar8 == '\0') {
          pcVar8 = (char *)(*(int *)(var_15 + 0x53578) + -0x3670);
        }
        var_26 = (**(type_11 **)(var_15 + 0x54320))
                           (pwVar40,*(int *)(var_15 + 0x53578) + -0x40d8,pcVar8);
        var_28 = (type_4 *)((int)pwVar40 + var_26);
        var_26 = (**(type_11 **)(var_15 + 0x53f38))(var_21[3],*(int *)(var_15 + 0x53578) + -0x3660);
        if (var_26 == 0) {
          uVar16 = *(type_4 *)(*(int *)(var_15 + 0x53578) + -0x364c);
          *var_28 = *(type_4 *)(*(int *)(var_15 + 0x53578) + -0x3650);
          var_28[1] = uVar16;
          var_28 = (type_4 *)((int)var_28 + 7);
LAB_00061ee8:
          pcVar8 = (char *)var_21[4];
          var_26 = *(int *)(var_15 + 0x53578);
          if (*pcVar8 == '\0') goto LAB_00061ef8;
LAB_0006228c:
          var_27 = (**(type_11 **)(var_15 + 0x53f38))(pcVar8,var_26 + -0x361c);
          if (var_27 == 0) goto LAB_00061ef8;
          var_27 = (**(type_11 **)(var_15 + 0x54344))
                             (var_28,1,0xffffffff,*(int *)(var_15 + 0x53578) + -0x12b0,var_21[4])
          ;
          var_28 = (type_4 *)((int)var_28 + var_27);
          var_27 = (**(type_11 **)(var_15 + 0x53f38))
                             (var_21[10],*(int *)(var_15 + 0x53578) + -0x6dc4);
          if (var_27 == 0) goto LAB_000622e8;
LAB_00061f14:
          var_27 = (**(type_11 **)(var_15 + 0x53f38))
                             (var_21[10],*(int *)(var_15 + 0x53578) + -0x2724);
          if (var_27 != 0) goto LAB_00061f30;
LAB_00062324:
          *var_28 = uVar4;
          var_28 = var_28 + 1;
          *(type_2 *)var_28 = *(type_2 *)(var_2 + -0x3608);
          pcVar8 = (char *)var_21[5];
          var_29 = *pcVar8;
          var_27 = *(int *)(var_15 + 0x53578);
        }
        else {
          var_26 = (**(type_11 **)(var_15 + 0x53f38))
                             (var_21[3],*(int *)(var_15 + 0x53578) + -0x72bc);
          if (var_26 != 0) {
            var_26 = (**(type_11 **)(var_15 + 0x53f38))
                               (var_21[3],*(int *)(var_15 + 0x53578) + -0x365c);
            if (var_26 == 0) {
              var_26 = *(int *)(var_15 + 0x53578);
              uVar23 = *(type_4 *)(var_26 + -0x3654);
              uVar19 = *(type_4 *)(var_26 + -0x3650);
              uVar16 = *(type_4 *)(var_26 + -0x364c);
              *var_28 = *(type_4 *)(var_26 + -0x3658);
              var_28[1] = uVar23;
              var_28[2] = uVar19;
              var_28[3] = uVar16;
              var_28 = (type_4 *)((int)var_28 + 0xf);
            }
            else {
              var_26 = (**(type_11 **)(var_15 + 0x53f38))
                                 (var_21[3],*(int *)(var_15 + 0x53578) + -0x3648);
              if (var_26 == 0) {
                var_26 = *(int *)(var_15 + 0x53578);
                uVar23 = *(type_4 *)(var_26 + -0x3640);
                uVar19 = *(type_4 *)(var_26 + -0x363c);
                uVar16 = *(type_4 *)(var_26 + -0x3638);
                *var_28 = *(type_4 *)(var_26 + -0x3644);
                var_28[1] = uVar23;
                var_28[2] = uVar19;
                var_28[3] = uVar16;
                var_28 = var_28 + 4;
                *(type_2 *)var_28 = *(type_2 *)(var_26 + -0x3634);
              }
              else {
                var_26 = (**(type_11 **)(var_15 + 0x53f38))
                                   (var_21[3],*(int *)(var_15 + 0x53578) + -0x3630);
                if (var_26 == 0) {
                  *var_28 = uVar6;
                  uVar16 = *(type_4 *)(var_19 + -0x3624);
                  uVar2 = *(type_2 *)(var_19 + -0x3620);
                  var_28[1] = *(type_4 *)(var_19 + -0x3628);
                  var_28[2] = uVar16;
                  var_28 = var_28 + 3;
                  *(type_2 *)var_28 = uVar2;
                }
              }
            }
            goto LAB_00061ee8;
          }
          var_26 = *(int *)(var_15 + 0x53578);
          uVar16 = *(type_4 *)(var_26 + -0x3638);
          uVar2 = *(type_2 *)(var_26 + -0x3634);
          *var_28 = *(type_4 *)(var_26 + -0x363c);
          var_28[1] = uVar16;
          var_28 = var_28 + 2;
          *(type_2 *)var_28 = uVar2;
          pcVar8 = (char *)var_21[4];
          var_26 = *(int *)(var_15 + 0x53578);
          if (*pcVar8 != '\0') goto LAB_0006228c;
LAB_00061ef8:
          var_27 = (**(type_11 **)(var_15 + 0x53f38))
                             (var_21[10],*(int *)(var_15 + 0x53578) + -0x6dc4);
          if (var_27 != 0) goto LAB_00061f14;
LAB_000622e8:
          var_27 = *(int *)(var_15 + 0x53578);
          pcVar44 = *(type_11 **)(var_15 + 0x53f38);
          *var_28 = uVar5;
          var_28 = var_28 + 1;
          *(type_2 *)var_28 = *(type_2 *)(var_18 + -0x3610);
          var_27 = (*pcVar44)(var_21[10],var_27 + -0x2724);
          if (var_27 == 0) goto LAB_00062324;
LAB_00061f30:
          pcVar8 = (char *)var_21[5];
          var_29 = *pcVar8;
          var_27 = *(int *)(var_15 + 0x53578);
        }
        if (var_29 != '\0') {
          var_27 = (**(type_11 **)(var_15 + 0x54344))(var_28,1,0xffffffff,var_27 + -0x12b0,pcVar8);
          var_28 = (type_4 *)((int)var_28 + var_27);
        }
        var_31 = (type_2 *)((int)var_28 + 1);
        var_27 = (**(type_11 **)(var_15 + 0x53f38))(var_21[2],*(int *)(var_15 + 0x53578) + -0x3604);
        if ((((var_27 == 0) ||
             (var_27 = (**(type_11 **)(var_15 + 0x53f38))
                                 (var_21[2],*(int *)(var_15 + 0x53578) + -0x3670), var_27 == 0))
            || (var_27 = (**(type_11 **)(var_15 + 0x53f38))(var_21[2],var_26 + -0x361c), var_27 == 0)
            ) || (var_27 = (**(type_11 **)(var_15 + 0x53f38))
                                     (var_21[2],*(int *)(var_15 + 0x53578) + -0x35fc), var_27 == 0
                 )) {
          var_37 = (type_7 *)0x0;
        }
        else {
          var_27 = (**(type_11 **)(var_15 + 0x54304))
                             (var_21[2],*(int *)(var_15 + 0x53578) + -0x35f4,4);
          if ((var_27 == 0) ||
             (var_27 = (**(type_11 **)(var_15 + 0x54304))
                                 (var_21[2],*(int *)(var_15 + 0x53578) + -0x35ec,4), var_27 == 0))
          {
            var_37 = (type_7 *)0x1;
          }
          else {
            var_37 = (type_7 *)0x2;
          }
        }
        var_27 = *(int *)(var_15 + 0x53578);
        var_30 = (**(type_11 **)(var_15 + 0x53f38))(var_21[3],var_27 + -0x702c);
        if (var_30 != 0) {
          var_27 = (**(type_11 **)(var_15 + 0x54304))(var_21[3],var_27 + -0x702c,1);
          var_30 = 1;
          if (var_27 == 0) {
            var_30 = 2;
          }
        }
        (**(type_11 **)(var_15 + 0x53f38))(var_21[4],var_26 + -0x361c);
        var_35 = var_21[2];
        var_41 = (type_2 *)(**(type_11 **)(var_15 + 0x54364))(var_35);
        var_40 = (**(type_11 **)(var_15 + 0x54364))(var_21[3]);
        (**(type_11 **)(var_15 + 0x54364))(var_21[4]);
        (**(type_11 **)(var_15 + 0x54364))(var_21[10]);
        (**(type_11 **)(var_15 + 0x54364))(var_21[5]);
        x = (type_1 *)0xffffffff;
        piVar36 = (int *)(*(int *)(var_15 + 0x53578) + -0x35e4);
        var_26 = (**(type_11 **)(var_15 + 0x54344))(var_31,1);
        if (var_23 <= (int)(var_31 + (var_26 - (int)pxVar33))) {
          x = (type_1 *)0x442;
          piVar36 = (int *)(*(int *)(var_15 + 0x53578) + -0x30c0);
          var_17 = (type_1 *)(*(int *)(var_15 + 0x53578) + -0x35b8);
          pxVar33 = (type_1 *)(*(int *)(var_15 + 0x53578) + -0x35a8);
          (**(type_11 **)(var_15 + 0x53da4))();
          goto LAB_0006258c;
        }
        piVar38 = *(int **)(var_15 + 0x53690);
        pcVar8 = (char *)var_21[10];
        var_23 = *(int *)(var_15 + 0x53578);
        pcVar44 = *(type_11 **)(var_15 + 0x54198);
        *piVar38 = 2;
        var_17 = (type_1 *)(int)*pcVar8;
        var_23 = (*pcVar44)(var_23 + -0x3590);
        if (var_23 == 0) {
          *piVar38 = 10;
        }
        var_23 = var_21[6];
        pcVar44 = *(type_11 **)(var_15 + 0x53574);
        if (var_23 != 0) {
          var_17 = (type_1 *)*var_33;
          var_40 = var_22 + 0x4768;
          var_30 = *piVar38;
          x = pxVar33;
          (*(type_11 *)pp_Var26)(puVar30);
          pcVar44 = *(type_11 **)(var_15 + 0x53574);
          piVar36 = piVar31;
          var_37 = pwVar40;
          var_41 = var_31;
          var_35 = var_23;
        }
        (*pcVar44)(var_21);
      }
      var_32 = var_32 + 1;
      var_33 = var_33 + 1;
    } while (var_32 < var_16);
  }
  (**(type_11 **)(var_15 + 0x544e0))(puVar11);
  (**(type_11 **)(var_15 + 0x53574))();
  if (var_34 == *piVar10) {
    return;
  }
LAB_0006258c:
  var_15 = *(type_11 **)(var_15 + 0x54100);
  (*var_15)();
  puVar39 = (pxVar33->u).vt;
  var_18 = var_30 - var_17->bold;
  var_2 = 1;
  var_20 = var_35 - var_17->wide;
  if (var_35 != 0) {
    var_2 = 2;
  }
  var_19 = var_20 * 2;
  if (var_17->shadowalways == 0) {
    var_22 = var_18 + var_19;
    if (*(int *)((int)var_17 + var_22 * 0x34 + 0x24) == 0) {
      function_1(var_17,var_22);
    }
    var_25 = *(int *)((int)var_17 + var_22 * 0x34 + 0x20);
    if (var_18 != 0) {
      var_18 = 0;
      if (var_25 != 0) goto LAB_0006265c;
      var_20 = var_20 * 0x68 + (int)var_17;
      var_25 = *(int *)(var_20 + 0x24);
      var_18 = var_17->shadowoffset;
      goto joined_r0x00062808;
    }
    var_18 = 0;
  }
  else {
    if (var_18 == 0) {
      var_20 = var_20 * 0x68 + (int)var_17;
      var_25 = *(int *)(var_20 + 0x24);
      var_18 = 0;
    }
    else {
      var_20 = var_20 * 0x68 + (int)var_17;
      var_25 = *(int *)(var_20 + 0x24);
      var_18 = var_17->shadowoffset;
    }
joined_r0x00062808:
    var_22 = var_19;
    if (var_25 == 0) {
      function_1(var_17,var_19);
      var_25 = *(int *)(var_20 + 0x20);
    }
    else {
      var_25 = *(int *)(var_20 + 0x20);
    }
  }
  if (var_25 == 0) {
    return;
  }
LAB_0006265c:
  if (var_17->sixteen_bit != 0) {
    var_31 = (type_2 *)(**(type_11 **)(var_15 + 0x52c74))(var_41,2);
    if (0 < (int)var_41) {
      var_36 = var_31;
      do {
        wVar24 = *var_37;
        var_38 = var_36 + 2;
        var_37 = var_37 + 1;
        var_36[1] = (char)wVar24;
        *var_36 = (char)((type_12)wVar24 >> 8);
        var_36 = var_38;
      } while (var_31 + (int)var_41 * 2 != var_38);
    }
    var_39
              ((type_13 *)
               (*(int *)(var_15 + 0x52c60) + 0x4750 + ((int)puVar39 * 2 + 1) * 0xc),
               (type_14 *)pxVar33,var_17->fonts + var_22,(int)x,(int)piVar36,var_31,
               (int)var_41,var_18,var_17->variable,var_2 * var_40);
    (**(type_11 **)(var_15 + 0x52c78))(var_31);
    return;
  }
  pcVar8 = (char *)(**(type_11 **)(var_15 + 0x52c74))(var_41 + 1,1);
  var_20 = var_42(var_17->real_charset,0,var_37,(int)var_41,pcVar8,
                    (int)(var_41 + 1),(char *)(*(int *)(var_15 + 0x52c7c) + -0x48f0),
                    (int *)0x0,(type_15 *)0x0);
  var_39
            ((type_13 *)(*(int *)(var_15 + 0x52c60) + 0x4750 + (int)puVar39 * 0x18),
             (type_14 *)pxVar33,var_17->fonts + var_22,(int)x,(int)piVar36,pcVar8,var_20,
             var_18,var_17->variable,var_2 * var_40);
  (**(type_11 **)(var_15 + 0x52c78))(pcVar8);
  return;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) (identifier) (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) (identifier) (identifier) (identifier) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) (identifier) (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) (identifier) (identifier) (identifier) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (return_statement (identifier)))))

/* WARNING: Removing unreachable block (ram,0x00061c88) */
/* WARNING: Removing unreachable block (ram,0x00061c6c) */

code * MASKED(int param_1,uint param_2,undefined4 param_3,undefined4 *param_4)

{
  char cVar1;
  undefined1 uVar2;
  undefined *puVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  int iVar7;
  undefined *puVar8;
  code *pcVar9;
  code *pcVar10;
  int *piVar11;
  uint *puVar12;
  int iVar13;
  undefined4 *puVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  undefined4 uVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  int iVar22;
  undefined4 uVar23;
  code *pcVar24;
  int *piVar25;
  int iVar26;
  int iVar27;
  int *piVar28;
  char *pcVar29;
  int *piVar30;
  code *pcVar31;
  int *piVar32;
  undefined4 *puVar33;
  undefined1 *puVar34;
  int *piVar35;
  uint *puVar36;
  int *piVar37;
  undefined4 *puVar38;
  undefined4 uVar39;
  int *piVar40;
  int unaff_s6;
  int iVar41;
  undefined4 *in_stack_fffffea0;
  undefined1 *in_stack_fffffea4;
  int iStack_158;
  int iStack_154;
  int iStack_150;
  undefined4 *puStack_f4;
  int iStack_ec;
  int iStack_b8;
  code *pcStack_b4;
  code *pcStack_b0;
  undefined4 uStack_ac;
  int *piStack_a8;
  code *pcStack_a4;
  undefined4 *puStack_a0;
  int *piStack_9c;
  int iStack_98;
  int local_6c;
  int local_68;
  int local_64;
  uint local_60;
  undefined4 local_5c;
  undefined *local_58;
  int local_54;
  undefined4 local_50;
  undefined4 local_4c;
  int local_28;
  code *local_24;
  
  puVar3 = PTR___stack_chk_guard_000b60f8;
  local_24 = *(code **)PTR___stack_chk_guard_000b60f8;
  uVar4 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();
  uVar4 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar4);
  uVar39 = *(undefined4 *)(param_1 + 0x20);
  uVar5 = (*(code *)PTR_gdk_display_get_default_000b5e9c)();
  uVar5 = (*(code *)PTR_gdk_x11_display_get_xdisplay_000b5a48)(uVar5);
  uVar6 = (*(code *)PTR_XInternAtom_000b5f60)(uVar5,PTR_DAT_000b5230 + 0x17d0,0);
  piVar30 = &local_28;
  iVar7 = (*(code *)PTR_XGetFontProperty_000b61b8)(uVar39,uVar6);
  if (iVar7 == 0) {
LAB_00061a2c:
    uVar5 = 0;
  }
  else {
    uVar5 = (*(code *)PTR_XGetAtomName_000b5a50)(uVar5,local_28);
    iVar7 = FUN_0006116c(uVar5);
    if (iVar7 == 0) goto LAB_00061a2c;
    if ((param_2 & 1) != 0) {
      *(undefined **)(iVar7 + 8) = PTR_s_XXXXXXXXXX___________000b5214 + -0x503c;
    }
    if ((param_2 & 2) != 0) {
      puVar8 = PTR_s_XXXXXXXXXX___________000b5214 + -0x3680;
      *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) << 1;
      *(undefined **)(iVar7 + 0x14) = puVar8;
      *(undefined **)(iVar7 + 0x10) = puVar8;
    }
    uVar5 = FUN_0006137c(iVar7);
    (*(code *)PTR_safefree_000b5210)(iVar7);
  }
  uVar6 = (*(code *)PTR_XLoadQueryFont_000b5aec)(uVar4,uVar5);
  puVar8 = PTR_safefree_000b5210;
  pcVar24 = (code *)(param_2 * 0x34 + param_1);
  *(undefined4 *)(pcVar24 + 0x20) = uVar6;
  *(undefined4 *)(pcVar24 + 0x24) = 1;
  (*(code *)puVar8)(uVar5);
  pcVar9 = *(code **)puVar3;
  if (local_24 == pcVar9) {
    return pcVar9;
  }
  puVar8 = PTR___stack_chk_fail_000b5d9c;
  (*(code *)PTR___stack_chk_fail_000b5d9c)();
  local_58 = puVar3;
  piVar35 = *(int **)(puVar8 + 0x54650);
  local_64 = *piVar35;
  piVar28 = piVar30;
  local_60 = param_2;
  local_5c = uVar5;
  local_54 = param_1;
  local_50 = uVar4;
  local_4c = uVar39;
  uVar4 = (**(code **)(puVar8 + 0x543f4))();
  uVar4 = (**(code **)(puVar8 + 0x53fa0))(uVar4);
  pcVar9 = pcVar24;
  pcVar10 = (code *)(**(code **)(puVar8 + 0x54044))(uVar4);
  pcVar31 = pcVar10;
  if (pcVar10 != (code *)0x0) {
    uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x53788) + 0x17d0,0);
    piVar28 = &local_6c;
    iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);
    if ((iVar7 != 0) && (unaff_s6 = (**(code **)(puVar8 + 0x53fa8))(uVar4,local_6c), unaff_s6 != 0))
    {
      local_68 = 0xc;
      uVar5 = (**(code **)(puVar8 + 0x544b8))(uVar4,*(int *)(puVar8 + 0x5376c) + -0x367c,0);
      piVar28 = &local_68;
      iVar7 = (**(code **)(puVar8 + 0x54710))(pcVar10,uVar5);
      if ((iVar7 != 0) && (pcVar9 = *(code **)(puVar8 + 0x546c4), local_68 != 0)) {
        *piVar30 = local_68;
        (*pcVar9)(uVar4);
        if (param_4 != (undefined4 *)0x0) {
          *param_4 = 2;
        }
        pcVar31 = (code *)(**(code **)(puVar8 + 0x53790))(unaff_s6);
        pcVar9 = pcVar10;
        goto LAB_00061bec;
      }
    }
    pcVar31 = (code *)0x0;
    (**(code **)(puVar8 + 0x546c4))(uVar4);
    pcVar9 = pcVar10;
  }
LAB_00061bec:
  if (local_64 == *piVar35) {
    return pcVar31;
  }
  pcVar10 = *(code **)(puVar8 + 0x542f4);
  (*pcVar10)();
  piVar11 = *(int **)(pcVar10 + 0x5445c);
  piVar32 = (int *)0x8000;
  pcStack_b4 = (code *)*piVar11;
  pcStack_b0 = pcVar31;
  uStack_ac = uVar4;
  piStack_a8 = piVar35;
  pcStack_a4 = pcVar24;
  puStack_a0 = param_4;
  piStack_9c = piVar30;
  iStack_98 = unaff_s6;
  uVar4 = (**(code **)(pcVar10 + 0x54200))();
  uVar4 = (**(code **)(pcVar10 + 0x53dac))(uVar4);
  iVar7 = *(int *)(pcVar10 + 0x53578);
  while( true ) {
    piVar30 = piVar32;
    piVar35 = &iStack_b8;
    puVar12 = (uint *)(**(code **)(pcVar10 + 0x54470))(uVar4,iVar7 + -0x3680,piVar32);
    piVar25 = (int *)(uint)(iStack_b8 < (int)piVar32);
    if (piVar25 != (int *)0x0) break;
    piVar32 = (int *)((int)piVar32 << 1);
    (**(code **)(pcVar10 + 0x544e0))(puVar12);
  }
  piVar32 = (int *)0x0;
  if (0 < iStack_b8) {
    iVar7 = *(int *)(pcVar10 + 0x53578);
    iVar41 = 0;
    iVar18 = *(int *)(pcVar10 + 0x53578);
    piVar32 = (int *)0x0;
    iVar22 = *(int *)(pcVar10 + 0x53578);
    uVar4 = *(undefined4 *)(iVar7 + -0x360c);
    iVar26 = *(int *)(pcVar10 + 0x5355c);
    iVar13 = *(int *)(pcVar10 + 0x53aac);
    iStack_ec = 0;
    uVar5 = *(undefined4 *)(iVar18 + -0x3614);
    iVar27 = *(int *)(pcVar10 + 0x53578);
    uVar6 = *(undefined4 *)(iVar22 + -0x362c);
    puVar36 = puVar12;
    do {
      puVar14 = (undefined4 *)(*(code *)(iVar13 + 0x116c))(*puVar36);
      if (puVar14 == (undefined4 *)0x0) {
        piVar25 = (int *)*puVar36;
        piVar35 = (int *)0x0;
        iStack_150 = iVar26 + 0x4768;
        iStack_154 = 4;
        iStack_158 = 0;
        in_stack_fffffea4 = (undefined1 *)0x0;
        in_stack_fffffea0 = (undefined4 *)0x0;
        piVar30 = piVar25;
        (*pcVar9)(piVar28);
        (**(code **)(pcVar10 + 0x53574))(0);
      }
      else {
        iVar15 = (**(code **)(pcVar10 + 0x54364))(*puVar36);
        iVar15 = (iVar15 + 0x40) * 4;
        if (iStack_ec < iVar15) {
          piVar32 = (int *)(**(code **)(pcVar10 + 0x5366c))(piVar32,iVar15,1);
          iStack_ec = iVar15;
        }
        iVar16 = (**(code **)(pcVar10 + 0x54344))
                           (piVar32,1,0xffffffff,iVar27 + -0x3668,puVar14[1],*puVar14);
        piVar40 = (int *)((int)piVar32 + iVar16 + 1);
        iVar16 = (**(code **)(pcVar10 + 0x54344))
                           (piVar40,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x3688,puVar14[0xc],
                            puVar14[0xd]);
        pcVar29 = (char *)puVar14[2];
        puVar38 = (undefined4 *)((int)piVar40 + iVar16 + 1);
        if (*pcVar29 == '\0') {
          pcVar29 = (char *)(*(int *)(pcVar10 + 0x53578) + -0x3670);
        }
        iVar16 = (**(code **)(pcVar10 + 0x54320))
                           (puVar38,*(int *)(pcVar10 + 0x53578) + -0x40d8,pcVar29);
        puVar33 = (undefined4 *)((int)puVar38 + iVar16);
        iVar16 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3660);
        if (iVar16 == 0) {
          uVar39 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x364c);
          *puVar33 = *(undefined4 *)(*(int *)(pcVar10 + 0x53578) + -0x3650);
          puVar33[1] = uVar39;
          puVar33 = (undefined4 *)((int)puVar33 + 7);
LAB_00061ee8:
          pcVar29 = (char *)puVar14[4];
          iVar16 = *(int *)(pcVar10 + 0x53578);
          if (*pcVar29 == '\0') goto LAB_00061ef8;
LAB_0006228c:
          iVar17 = (**(code **)(pcVar10 + 0x53f38))(pcVar29,iVar16 + -0x361c);
          if (iVar17 == 0) goto LAB_00061ef8;
          iVar17 = (**(code **)(pcVar10 + 0x54344))
                             (puVar33,1,0xffffffff,*(int *)(pcVar10 + 0x53578) + -0x12b0,puVar14[4])
          ;
          puVar33 = (undefined4 *)((int)puVar33 + iVar17);
          iVar17 = (**(code **)(pcVar10 + 0x53f38))
                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);
          if (iVar17 == 0) goto LAB_000622e8;
LAB_00061f14:
          iVar17 = (**(code **)(pcVar10 + 0x53f38))
                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x2724);
          if (iVar17 != 0) goto LAB_00061f30;
LAB_00062324:
          *puVar33 = uVar4;
          puVar33 = puVar33 + 1;
          *(undefined1 *)puVar33 = *(undefined1 *)(iVar7 + -0x3608);
          pcVar29 = (char *)puVar14[5];
          cVar1 = *pcVar29;
          iVar17 = *(int *)(pcVar10 + 0x53578);
        }
        else {
          iVar16 = (**(code **)(pcVar10 + 0x53f38))
                             (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x72bc);
          if (iVar16 != 0) {
            iVar16 = (**(code **)(pcVar10 + 0x53f38))
                               (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x365c);
            if (iVar16 == 0) {
              iVar16 = *(int *)(pcVar10 + 0x53578);
              uVar23 = *(undefined4 *)(iVar16 + -0x3654);
              uVar19 = *(undefined4 *)(iVar16 + -0x3650);
              uVar39 = *(undefined4 *)(iVar16 + -0x364c);
              *puVar33 = *(undefined4 *)(iVar16 + -0x3658);
              puVar33[1] = uVar23;
              puVar33[2] = uVar19;
              puVar33[3] = uVar39;
              puVar33 = (undefined4 *)((int)puVar33 + 0xf);
            }
            else {
              iVar16 = (**(code **)(pcVar10 + 0x53f38))
                                 (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3648);
              if (iVar16 == 0) {
                iVar16 = *(int *)(pcVar10 + 0x53578);
                uVar23 = *(undefined4 *)(iVar16 + -0x3640);
                uVar19 = *(undefined4 *)(iVar16 + -0x363c);
                uVar39 = *(undefined4 *)(iVar16 + -0x3638);
                *puVar33 = *(undefined4 *)(iVar16 + -0x3644);
                puVar33[1] = uVar23;
                puVar33[2] = uVar19;
                puVar33[3] = uVar39;
                puVar33 = puVar33 + 4;
                *(undefined1 *)puVar33 = *(undefined1 *)(iVar16 + -0x3634);
              }
              else {
                iVar16 = (**(code **)(pcVar10 + 0x53f38))
                                   (puVar14[3],*(int *)(pcVar10 + 0x53578) + -0x3630);
                if (iVar16 == 0) {
                  *puVar33 = uVar6;
                  uVar39 = *(undefined4 *)(iVar22 + -0x3624);
                  uVar2 = *(undefined1 *)(iVar22 + -0x3620);
                  puVar33[1] = *(undefined4 *)(iVar22 + -0x3628);
                  puVar33[2] = uVar39;
                  puVar33 = puVar33 + 3;
                  *(undefined1 *)puVar33 = uVar2;
                }
              }
            }
            goto LAB_00061ee8;
          }
          iVar16 = *(int *)(pcVar10 + 0x53578);
          uVar39 = *(undefined4 *)(iVar16 + -0x3638);
          uVar2 = *(undefined1 *)(iVar16 + -0x3634);
          *puVar33 = *(undefined4 *)(iVar16 + -0x363c);
          puVar33[1] = uVar39;
          puVar33 = puVar33 + 2;
          *(undefined1 *)puVar33 = uVar2;
          pcVar29 = (char *)puVar14[4];
          iVar16 = *(int *)(pcVar10 + 0x53578);
          if (*pcVar29 != '\0') goto LAB_0006228c;
LAB_00061ef8:
          iVar17 = (**(code **)(pcVar10 + 0x53f38))
                             (puVar14[10],*(int *)(pcVar10 + 0x53578) + -0x6dc4);
          if (iVar17 != 0) goto LAB_00061f14;
LAB_000622e8:
          iVar17 = *(int *)(pcVar10 + 0x53578);
          pcVar24 = *(code **)(pcVar10 + 0x53f38);
          *puVar33 = uVar5;
          puVar33 = puVar33 + 1;
          *(undefined1 *)puVar33 = *(undefined1 *)(iVar18 + -0x3610);
          iVar17 = (*pcVar24)(puVar14[10],iVar17 + -0x2724);
          if (iVar17 == 0) goto LAB_00062324;
LAB_00061f30:
          pcVar29 = (char *)puVar14[5];
          cVar1 = *pcVar29;
          iVar17 = *(int *)(pcVar10 + 0x53578);
        }
        if (cVar1 != '\0') {
          iVar17 = (**(code **)(pcVar10 + 0x54344))(puVar33,1,0xffffffff,iVar17 + -0x12b0,pcVar29);
          puVar33 = (undefined4 *)((int)puVar33 + iVar17);
        }
        puVar34 = (undefined1 *)((int)puVar33 + 1);
        iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3604);
        if ((((iVar17 == 0) ||
             (iVar17 = (**(code **)(pcVar10 + 0x53f38))
                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x3670), iVar17 == 0))
            || (iVar17 = (**(code **)(pcVar10 + 0x53f38))(puVar14[2],iVar16 + -0x361c), iVar17 == 0)
            ) || (iVar17 = (**(code **)(pcVar10 + 0x53f38))
                                     (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35fc), iVar17 == 0
                 )) {
          puStack_f4 = (undefined4 *)0x0;
        }
        else {
          iVar17 = (**(code **)(pcVar10 + 0x54304))
                             (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35f4,4);
          if ((iVar17 == 0) ||
             (iVar17 = (**(code **)(pcVar10 + 0x54304))
                                 (puVar14[2],*(int *)(pcVar10 + 0x53578) + -0x35ec,4), iVar17 == 0))
          {
            puStack_f4 = (undefined4 *)0x1;
          }
          else {
            puStack_f4 = (undefined4 *)0x2;
          }
        }
        iVar17 = *(int *)(pcVar10 + 0x53578);
        iStack_154 = (**(code **)(pcVar10 + 0x53f38))(puVar14[3],iVar17 + -0x702c);
        if (iStack_154 != 0) {
          iVar17 = (**(code **)(pcVar10 + 0x54304))(puVar14[3],iVar17 + -0x702c,1);
          iStack_154 = 1;
          if (iVar17 == 0) {
            iStack_154 = 2;
          }
        }
        (**(code **)(pcVar10 + 0x53f38))(puVar14[4],iVar16 + -0x361c);
        iStack_158 = puVar14[2];
        in_stack_fffffea4 = (undefined1 *)(**(code **)(pcVar10 + 0x54364))(iStack_158);
        iStack_150 = (**(code **)(pcVar10 + 0x54364))(puVar14[3]);
        (**(code **)(pcVar10 + 0x54364))(puVar14[4]);
        (**(code **)(pcVar10 + 0x54364))(puVar14[10]);
        (**(code **)(pcVar10 + 0x54364))(puVar14[5]);
        piVar30 = (int *)0xffffffff;
        piVar35 = (int *)(*(int *)(pcVar10 + 0x53578) + -0x35e4);
        iVar16 = (**(code **)(pcVar10 + 0x54344))(puVar34,1,0xffffffff);
        if (iVar15 <= (int)(puVar34 + (iVar16 - (int)piVar32))) {
          pcVar9 = (code *)(**(code **)(pcVar10 + 0x53da4))
                                     (*(int *)(pcVar10 + 0x53578) + -0x35a8,
                                      *(int *)(pcVar10 + 0x53578) + -0x35b8,0x442,
                                      *(int *)(pcVar10 + 0x53578) + -0x30c0);
          return pcVar9;
        }
        piVar37 = *(int **)(pcVar10 + 0x53690);
        pcVar29 = (char *)puVar14[10];
        iVar15 = *(int *)(pcVar10 + 0x53578);
        pcVar24 = *(code **)(pcVar10 + 0x54198);
        *piVar37 = 2;
        piVar25 = (int *)(int)*pcVar29;
        iVar15 = (*pcVar24)(iVar15 + -0x3590);
        if (iVar15 == 0) {
          *piVar37 = 10;
        }
        iVar15 = puVar14[6];
        pcVar24 = *(code **)(pcVar10 + 0x53574);
        in_stack_fffffea0 = puStack_f4;
        if (iVar15 != 0) {
          piVar25 = (int *)*puVar36;
          iStack_150 = iVar26 + 0x4768;
          iStack_154 = *piVar37;
          piVar30 = piVar32;
          (*pcVar9)(piVar28,piVar25,piVar32);
          pcVar24 = *(code **)(pcVar10 + 0x53574);
          piVar35 = piVar40;
          in_stack_fffffea0 = puVar38;
          in_stack_fffffea4 = puVar34;
          iStack_158 = iVar15;
        }
        (*pcVar24)(puVar14);
      }
      iVar41 = iVar41 + 1;
      puVar36 = puVar36 + 1;
    } while (iVar41 < iStack_b8);
  }
  (**(code **)(pcVar10 + 0x544e0))(puVar12);
  (**(code **)(pcVar10 + 0x53574))();
  pcVar9 = (code *)*piVar11;
  if (pcStack_b4 == pcVar9) {
    return pcVar9;
  }
  pcVar24 = *(code **)(pcVar10 + 0x54100);
  (*pcVar24)();
  iVar13 = *piVar32;
  iVar18 = iStack_154 - piVar25[0x40];
  pcVar9 = (code *)0x1;
  iVar7 = iStack_158 - piVar25[0x3f];
  if (iStack_158 != 0) {
    pcVar9 = (code *)0x2;
  }
  iVar22 = iVar7 * 2;
  if (piVar25[0x42] == 0) {
    iVar26 = iVar18 + iVar22;
    if (piVar25[iVar26 * 0xd + 9] == 0) {
      MASKED(piVar25,iVar26);
    }
    iVar27 = piVar25[iVar26 * 0xd + 8];
    if (iVar18 != 0) {
      iVar18 = 0;
      if (iVar27 != 0) goto LAB_0006265c;
      piVar28 = piVar25 + iVar7 * 0x1a;
      iVar7 = piVar28[9];
      iVar18 = piVar25[0x41];
      goto joined_r0x00062808;
    }
    iVar18 = 0;
  }
  else {
    if (iVar18 == 0) {
      piVar28 = piVar25 + iVar7 * 0x1a;
      iVar7 = piVar28[9];
      iVar18 = 0;
    }
    else {
      piVar28 = piVar25 + iVar7 * 0x1a;
      iVar7 = piVar28[9];
      iVar18 = piVar25[0x41];
    }
joined_r0x00062808:
    iVar26 = iVar22;
    if (iVar7 == 0) {
      MASKED(piVar25,iVar22);
      iVar27 = piVar28[8];
    }
    else {
      iVar27 = piVar28[8];
    }
  }
  if (iVar27 == 0) {
    return pcVar9;
  }
LAB_0006265c:
  if (piVar25[0x3c] != 0) {
    puVar34 = (undefined1 *)(**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4,2);
    if (0 < (int)in_stack_fffffea4) {
      puVar20 = puVar34;
      do {
        uVar4 = *in_stack_fffffea0;
        puVar21 = puVar20 + 2;
        in_stack_fffffea0 = in_stack_fffffea0 + 1;
        puVar20[1] = (char)uVar4;
        *puVar20 = (char)((uint)uVar4 >> 8);
        puVar20 = puVar21;
      } while (puVar34 + (int)in_stack_fffffea4 * 2 != puVar21);
    }
    FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + (iVar13 * 2 + 1) * 0xc,piVar32,
                 piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,puVar34,in_stack_fffffea4,iVar18,
                 piVar25[0x3d],(int)pcVar9 * iStack_150);
                    /* WARNING: Could not recover jumptable at 0x00062748. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(puVar34);
    return pcVar9;
  }
  uVar4 = (**(code **)(pcVar24 + 0x52c74))(in_stack_fffffea4 + 1,1);
  uVar5 = wc_to_mb(piVar25[0x3e],0,in_stack_fffffea0,in_stack_fffffea4,uVar4,in_stack_fffffea4 + 1,
                   *(int *)(pcVar24 + 0x52c7c) + -0x48f0,0,0);
  FUN_00060d20(*(int *)(pcVar24 + 0x52c60) + 0x4750 + iVar13 * 0x18,piVar32,
               piVar25 + iVar26 * 0xd + 8,piVar30,piVar35,uVar4,uVar5,iVar18,piVar25[0x3d],
               (int)pcVar9 * iStack_150);
                    /* WARNING: Could not recover jumptable at 0x000628fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  pcVar9 = (code *)(**(code **)(pcVar24 + 0x52c78))(uVar4);
  return pcVar9;
}

